springboot中使用@Value读取配置文件
springboot中使用@Value读取配置文件
一:配置文件
一般我们配制配置文件都是多套的。测试环境,生产环境。
一般 application.properties里面配置都是公共的不用动的配置,application-test.properties配置的就是测试环境所需要的配置,application-prod.properties就是生产环境所需要的配置。
然后在spring_boot迷人加载的application.properties的配置文件里面加上
就能动态的实现加载生产环境或者测试环境的配置。
二:读取配置文件里面的属性;
1、@PropertySource配置文件路径设置,在类上添加注解,如果在默认路径下可以不添加该注解。
需要用@PropertySource的有:
- 例如非application.properties,classpath:config/my.properties指的是src/main/resources目录下config目录下的my.properties文件,
- 例如有
多配置文件引用,若取两个配置文件中有相同属性名的值,则取值为最后一个配置文件中的值
在application.properties中的文件,直接使用@Value读取即可,applicarion的读取优先级最高
@PropertySource({"classpath:config/my.properties","classpath:config/config.properties"})
public class TestController
2、@Value属性名,在属性名上添加该注解
@Value("${my.name}")
private String myName;
3、实例
例如,我在application-test.properties里面加上属性wechat.pay.url
然后把application.properties的加载选择测试文件
其实也相当于在application.properties里面就会加载上application-test.properties里面的配置属性
然后就能使用payUrl这个变量了。