转自:
下文笔者讲述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; } }