springboot中使用@Value读取配置文件

一:配置文件

一般我们配制配置文件都是多套的。测试环境,生产环境。

springboot中使用@Value读取配置文件

  一般   application.properties里面配置都是公共的不用动的配置,application-test.properties配置的就是测试环境所需要的配置,application-prod.properties就是生产环境所需要的配置。

  然后在spring_boot迷人加载的application.properties的配置文件里面加上springboot中使用@Value读取配置文件

  就能动态的实现加载生产环境或者测试环境的配置。

二:读取配置文件里面的属性;

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

 springboot中使用@Value读取配置文件

然后把application.properties的加载选择测试文件

springboot中使用@Value读取配置文件

  其实也相当于在application.properties里面就会加载上application-test.properties里面的配置属性

   springboot中使用@Value读取配置文件

  然后就能使用payUrl这个变量了。

欢迎大家一起说出自己的想法。
上一篇:使用idea创建一个简单的Spring-boot(一)


下一篇:数据库的SQL优化