一个Spring Boot应用,为了适应不同的运行环境,其可配置的属性不能写在应用代码中,而往往位于应用之外,即配置属性的改变无需修改Spring Boot应用。
Spring Boot可以通过如下几种方式实现属性的应用外配置:
properties文件yml文件操作系统的环境变量应用的启动参数这里我们只介绍最基本的application.properties配置文件及其使用。
1.为Spring Boot应用创建默认的配置文件在Maven项目的src/main/resources/目录下,创建application.properties文件(必须是该文件名),文件内容如下:
logging.level.org.springframework.web=DEBUG server.port=8181 server.session-timeout=3000 创建属性配置文件后,无需再次构建Spring Boot应用,直接启动Spring Boot应用,即可看到新的配置属性生效,输出了DEBUG级别的日志,打开浏览器访问应用的端口由默认的8080变为了8181。2.为Spring Boot应用创建不同运行环境下的配置文件
在Maven项目的src/main/resources/目录下,创建如下配置文件:
application-test.properties,针对测试环境的配置文件 server.port=8888 application-product.properties,针对上线环境的配置文件 server.port=80启动Spring Boot应用时,开发阶段默认采用application.properties配置文件的属性值。
如果到了测试阶段或上线阶段,可以通过配置应用的启动VM参数spring.profiles.active,采用不同的配置文件的属性值。
3.通过命令行启动参数设置属性
java -jar myapp.jar --server.port=80
补充:配置文件中的所有可配置参数的列表https://docs.spring.io/spring-boot/docs/1.5.4.RELEASE/reference/htmlsingle/#common-application-properties
