Spring Boot—参数配置
一.概述
为了让应用适应不同的环境,Spring Boot可以通过properties文件,YAML文件,环境变量和命令行来设置系统参数。下面我们分别对这几种方式作出详细的说明。
二.命令行参数
默认情况下,SpringApplication会将命令行参数(如–server.port=9000)的property添加到Spring Boot的Environment,且命令行属性始终优先于其他属性源。如果不希望将命令行属性添加到Environment,则可以调用SpringApplication.setAddCommandLineProperties(false)。
三.application.properties
application.properties文件位于src/mai/resources目录下,如果在application.properties中我们添加代码server.port = 9090
,则应用的端口号不再是8080,而是9090。
四.YAML文件
我们也可以用application.yml替代application.properties,上面配置“server.port = 9090
”等同于 server:port: 9090
YAML文件还可以像如下配置在同一个文件中,而不需要生产环境和开发分解分别配置在不同文件。
spring:
application:
name: MyApplication
server:
port: 8080
---
spring:
profiles: dev
application:
name: MyApplication
server:
port: 9090
---
spring:
profiles: prod
application:
name: MyApplication
server:
port: 4431
在不同环境使用时可以通过命令:
java -jar MyApplication.jar –spring.profiles.active=dev或
java -jar MyApplication.jar –spring.profiles.active=prod获取不同的环境配置。