SpringBoot-多环境命令行启动参数设置
推荐先阅读
:Spring全家桶
多环境启动命令格式
带参数启动SpringBoot
java -jar springboot.jar --server.port=88 --spring.profiles.active=test |
防坑:执行package之前先clean
打包可能乱码,解决方案:
属性加载优先顺序
从上到下,由低到高
以下内容皆为谷歌翻译:
Spring Boot使用非常特殊的PropertySource
顺序,旨在允许合理地覆盖值。属性按以下顺序考虑(较低项目的值覆盖早期项目):
- 默认属性(通过设置
SpringApplication.setDefaultProperties
指定)。 @PropertySource
annotations on your@Configuration
classes. Please note that such property sources are not added to theEnvironment
until the application context is being refreshed. This is too late to configure certain properties such aslogging.*
andspring.main.*
which are read before refresh begins.- 配置数据(如
application.properties
文件)。 - A
RandomValuePropertySource
that has properties only inrandom.*
. - OS环境变量。
- Java系统属性(
System.getProperties()
)。 - 来自
java:comp/env
JNDI属性。 ServletContext
init参数。ServletConfig
init参数。- 来自
SPRING_APPLICATION_JSON
的属性(嵌入在环境变量或系统属性中的内联JSON)。 - 命令行参数。
properties
属性在您的测试中。在@SpringBootTest
和测试应用程序特定片段的测试注释上可用。@TestPropertySource
测试上的注释。- 当devtools处于活动状态时,Devtools在
$HOME/.config/spring-boot
目录中的全局设置属性。