Spring Boot中如何读取配置呢?
									下文笔者讲述Springboot读取配置的方法分享,如下所示:
配置文件内容如下:
				 
				
我们都知道Spring Boot中我们常使用 
   application.yml 或 properties文件放置配置文件
   我们可使用@PropertySource,@Value,@Environment, @ConfigurationProperties读取配置文件
    下文笔者将一一道来,如下所示:
 例:配置文件内容如下:
info.username=maomao info.website=java265 info.other=不想说
方式1:使用@Value注解的方式读取
 
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class InfoConfig1
{
	@Value("${info.username}")
	private  String username;
	@Value("${info.website}")
	private String website;
	@Value("${info.other}")
	private	String other;
	public	String getUserName()
	{
		return username;
	}
	public void setUserName(String username)
	{
		this.username = username;
	}
	public String getWebSite()
	{
		return website;
	}
	public void setWebSite(String website)
	{
		this.website = website;
	}
	public String getOther()
	{
		return other;
	}
	public void setOther(String other)
	{
		this.other = other;
	}
}
@ConfigurationProperties注解读取方式
@Component
@ConfigurationProperties(prefix ="info")
public class InfoConfig2
{ 
	private  String username;
 
	private String website;
 
	private	String other;
	public	String getUserName()
	{
		return username;
	}
	public void setUserName(String username)
	{
		this.username = username;
	}
	public String getWebSite()
	{
		return website;
	}
	public void setWebSite(String website)
	{
		this.website = website;
	}
	public String getOther()
	{
		return other;
	}
	public void setOther(String other)
	{
		this.other = other;
	}
}
读取指定文件 资源目录下建立config/db-config.properties
例:
db.username=root
db.password=123456
@PropertySource+@Value注解读取方式
------------------------------------------------
@Component
@PropertySource(value={"config/db-config.properties"})
public class DBConfig1
 {
  @Value("${db.username}")
  private String username;
  
  @Value("${db.password}")
  private String password;
  
public String getUsername()
{
  return username ;
}
 
public void setUsername(String username){
  this.username  = username;
}
 
public String 	getPassword(){
  return password;
 }
  
public void setPassword(String password){
	this.password = password;
  }
}
注意事项
 注意:@PropertySource不支持yml文件读取
@PropertySource+@ConfigurationProperties注解读取方式
@Component
@ConfigurationProperties(prefix ="db")
@PropertySource(value={"config/db-config.properties"})
public class DBConfig2 { 
  private String username;
   
  private String password;
  
public String getUsername()
{
  return username ;
}
 
public void setUsername(String username){
  this.username  = username;
}
 
public String 	getPassword(){
  return password;
 }
  
public void setPassword(String password){
	this.password = password;
  }
}
									
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

 
			 
                
                
                
               
 
          

