欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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同样的道理。