Spring Boot参考教程Spring Boot配置使用之配置文件用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

 

以上是关于Spring Boot参考教程Spring Boot配置使用之配置文件用法的主要内容,如果未能解决你的问题,请参考以下文章

spring-boo hello world程序

spring-boot实战05:Spring Boo多环境配置及配置属性注入到对象

spring boo的简单搭建(eclipse+springboot + redis + mysql + thymeleaf)

Spring Boot参考教程Spring Boot配置使用之配置文件用法

Spring Boot参考教程Spring Boot Jar方式读取资源文件

Spring Boot参考教程Spring Boot配置使用之配置类用法