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;
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


