springboot2读取配置文件
程序员文章站
2022-04-27 18:43:49
...
关键词:springboot2、配置文件
springboot读取配置文件,无外乎就两种情况:1)读取默认的application.yml;2)读取自定义的配置文件xxx.yml。由于版本升级,springboot2和springboot1读取自定义配置文件稍微有些区别,主要体现在springboot2种@configurationProperties的注解去掉了locations参数,需与@PropertySource配合使用。
1)读取默认的application.yml
使用@Value和$读取
@Service(value = "questionService")
public class QuestionServiceImpl implements QuestionService {
@Value("${HanLP.CustomDictionary.path.relationshipDict}")
private String relationshipDictPath;
@Value("${HanLP.CustomDictionary.path.personDict}")
private String personDictPath;
}
application.yml
#HanLP 用户自定义扩展词库,不建议使用HanLP自定义词典追加的模式,建议自行加载
HanLP:
CustomDictionary:
path:
relationshipDict: ${rootDirPath}/dictionary/custom/relationshipDict.txt
personDict: ${rootDirPath}/dictionary/custom/personDict.txt
2)读取自定义的配置文件appconfig.yml
@Component
@ConfigurationProperties(prefix = "mc")
@PropertySource(value = "classpath:appconfig.yml")
public class AppConfig {
@Value("${cinema}")
private String cinema;
public String getCinema() {
return cinema;
}
public void setCinema(String cinema) {
this.cinema = cinema;
}
}
注:使用@ConfigurationProperties指定前缀、@PropertySource指定自定义的值、@Value读取属性值,本地测试去掉@Value,cinema读取出来为空,使用@EnableConfigurationProperties也不好使。
appconfig.yml
#应用配置
#电影院 贵阳万达影城中大广场店
mc:
cinema: 1916
个人习惯使用yml的配置文件,properties同样的道理。
上一篇: springboot2实战三-配置类