SpringBoot(五):配置文件解析

Spring Boot使用了一个全局的配置文件application.properties,放在src/main/resources目录下或者类路径的/config下。Sping Boot的全局配置文件的作用是对一些默认配置的配置值进行修改。

自定义属性

application.properties提供自定义属性的支持,这样我们就可以把一些常量配置在这里:

com.test.name="王先生"
com.test.address="北京市长征街168号"
然后直接在要使用的地方通过注解@Value(value=”${config.name}”)就可以绑定到你想要的属性上面

启动工程后,在浏览器输入:http://localhost:8080/read1,可以看到控制台上输入信息

这种方式配置只能是配置熟悉比较少的,当需要配置多个熟悉时候,一个个绑定到属性字段上太累,官方提倡绑定一个对象的bean,这里我们建一个ConfigBean.java类,顶部需要使用注解@ConfigurationProperties(prefix = “com.test”)来指明使用哪个。

使用自定义配置文件

有时候我们不希望把所有配置都放在application.properties里面,这时候我们可以另外定义一个,这里我明取名为config.properties,路径跟也放在src/main/resources下面。

我们新建一个bean类j解析config.properties,如下:

参数间引用

在application.properties中的各个参数之间也可以直接引用来使用,就像下面的设置:

 com.test.name="王先生"

 com.test.address="北京市长征街168号"

com.test.nameAndAdress=${com.test.name}在此${com.test.address}

可以只是用nameAndAdress这个属性就好。

Profile-多环境配置

在开发Spring Boot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的话,那必将是个非常繁琐且容易发生错误的事。

Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:

  • application-dev.properties:开发环境
  • application-test.properties:测试环境
  • application-prod.properties:生产环境

至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。 

在application.properties中设置spring.profiles.active=dev,就是说默认以dev环境设置

 

猜你喜欢

转载自www.cnblogs.com/xianshiwang/p/9066427.html