Spring Boot参考教程(四)Spring Boot配置使用之配置文件用法
4.1 Spring Boot配置使用之配置文件用法
Spring Boot旨在简化配置,但依然需要进行少量配置来满足应用的特定需要。
配置方式抛弃了XML文件的配置方式,主要使用配置文件和配置类来实现自定义配置,但依然可以使用XML文件的方式进行配置,具体不再演示,主要说明配置文件和配置类的使用。
Spring Boot的配置文件默认为application.properties或application.ymal文件,本文主要使用application.properties说明。
Spring Boot的一般性全局配置项可参考官网中附录A(常见应用属性)。
1. 自定义配置更改应用属性
(1) Spring Boot应用默认端口为8080,上下问路径为/,加入配置:
server.port=8090
server.context-path=/helloworld
management.context-path=/endpoints
management.port=8000
启动工程测试:
日志如下,显示应用开启了两个端口。
日志显示应用开启了两个端口,其中8090端口为应用业务请求使用,8000为Actuator端点使用,这样既将业务与应用本身的信息区分开,同时又增加了端点自身的安全性。
访问端点测试:端点路径和端口已更改为配置项
访问应用请求:测试接口路径和端口已改为配置项
(2)在Spring Boot应用启动时会有一个Spring的标志:
可关闭:加入配置spring.main.banner-mode.off=true即可。
(3)配置静态资源:Spring Boot 默认配置的/**映射到/static(或/public,/resources,/META-INF/resources),/webjars/**会映射到classpath:/META-INF/resources/webjars/
想更改,加入配置:spring.mvc.static-path-pattern=/resources/**
注:配置文件方式配置上述配置后会更改默认静态资源设置,如想更改后不影响默认配置下文配置类中会介绍。
其他如开启AOP,代理等设置直接在SpringBoot的常用配置目录中找到并配置即可。
不再多做测试,只演示基本用法。
2. 自定义properties使用
在开发过程中我们经常会使用一些配置文件记录应用会使用到的固定值,这就需要使用自定义Properties。
(1)用法一(包含以下四种用法)
A.直接使用注解@Value("${myproperties.prop1}")
B.直接注入参数中String getProperties(@Value("${myproperties.prop2}")String prop2)
C. 使用Environment类的getProperty("myproperties.prop3");
D.使用注解@ConfigurationProperties("myproperties"),在类中声明属性,并声明getter和setter方法,注解会自动匹配注解中参数后的节点与属性名一致的值然后注入,此匹配为模糊匹配。
在配置文件中加入自定义配置:
myproperties.prop1=prop1
myproperties.prop2=prop2
myproperties.prop3=prop3
myproperties.prop4=prop4
编写代码:
测试:
(2)用法2
可直接注入实体类中,并验证匹配为模糊匹配:
配置文件中加入:
propbean.prop5=prop5
propbean.prop6=prop6
propbean.prop7=prop7
propbean.prop8=prop8
编写代码 PropBean1,PropBean2;PropBean1:测试注入实体类中属性
PropBean2:测试模糊匹配
编写测试代码:
启动测试:
(3)初始化Bean时使用注解:
编写PropBean3:
配置代码:
测试代码:
测试:
3. 根据环境使用配置
实际开发中我们需要根据不同环境加载配置文件可以通过spring.profiles.active配置项实现
具体使用如下:
在classpath下新建application-dev.properties文件
并在配置文件中加入如下配置项:
server.port=8090
myproperties.prop1=newprop1
myproperties.prop2=newprop2
在application.properties中加入配置:spring.profiles.active=dev
启动测试:
启动日志显示激活成功
访问测试:
SpringBoot的根据环境激活配置文件的规则是,默认加载application.properties文件,当此文件中配置了选项spring.profiles.active=xxx后,会加载application-xxx.properties配置文件中的配置项覆盖application.properties中相同的配置项。
4. 更改默认配置文件
Spring Boot默认配置文件为application.properties一般情况下不会更改默认配置文件,如有需要可使用注解@PropertySource实现。不再详细说明。
<实例代码>
Github:https://github.com/chunyuding/SpringBoot-Demo
https://github.com/chunyuding/SpringBoot-Demo.git
码云:https://gitee.com/dingchunyu/SpringBoot-Demo
https://gitee.com/dingchunyu/SpringBoot-Demo.git
<推荐书籍>
百度云:http://pan.baidu.com/s/1qYA0Nxi