前言
SpringBoot启动时默认加载bootstrap.properties或bootstrap.yml(这两个优先级最高)、application.properties或application.yml,如果我们配置了spring.profiles,同时会加载对应的application-{profile}.properties或application-{profile}.yml,profile为对应的环境变量,比如dev,如果没有配置,则会加载profile=default的配置文件
虽然说配置项都写在同一个配置文件没有问题,但我们仍然希望能分开写,这样比较清晰,比如eureka的配置写在eureka.properties,数据库相关的配置写在datasource.properties等等,因此就需要设置加载外部配置文件
本文记录SpringBoot加载自定义配置文件的两个方法
两种方法
方法一
直接在具体的类上面使用注解加载
比如当你在ServiceAImpl需要使用到xxx.properties时
//手动加载自定义配置文件
@PropertySource(value ={"classpath:xxx.properties",
}, encoding= "utf-8")
@Servicepublic classServiceAImpl{
@Value("${cn.huanzi.qch.xxx}")privateString xxx;
}
如果你需要在更早一点引入,则可以在启动类上进行引入
//手动加载自定义配置文件
@Pr