搜索: "spring boot 外化配置"
Spring Boot Reference Guide
Spring Boot 中文文档 参考手册 中文版
================
SpringBoot中配置文件加载位置与优先级_apllication 配置文件项目启动时加载参数_流烟默的博客-CSDN博客
SpringBoot的外部化配置最全解析!_广州建站小戴BOTAO博客
================
《SpringBoot系列二》:配置文件加载优先级(含服务注册中心nacos)-阿里云开发者社区
nacos默认覆盖本地, 可以配置成本地覆盖远程的
================
参考: SpringBoot外部配置、优先级及配置详解 - 知乎
按照从高到低的排序如下:
(1)、在您的HOME目录设置的Devtools全局属性(~/.spring-boot-devtools.properties)。
使用Spring Boot DevTools优化你的开发体验 - 掘金
(2)、单元测试中的 @TestPropertySource 注解。
(3)、单元测试中的 @SpringBootTest#properties 注解属性
(4)、命令行参数。java -jar xxx.jar --spring.application.json='{"foo":"bar"}'
命令行中使用json格式的参数
让SPRING_APPLICATION_JSON的内容允许注释_创意程序员的博客-CSDN博客
(6)、ServletConfig 初始化参数。
web.xml文件中的<init-param>标签
(7)、ServletContext 初始化参数。
web.xml文件中的<context-param>标签
(8)、来自 java:comp/env 的JNDI属性。
属于是jsp中的写法, 有点类似定义一个对象引用, 屏蔽对象实现细节, 一般不使用该方案
(9)、Java系统属性(System.getProperties())
-D 参数传参
java -Dmyapp.config.path=/opt/config MyApp
-Dspring.cloud.nacos.username=nacos 这种可以被识别
(10)、操作系统环境变量。
spring.cloud.nacos.username=nacos 这种可以被识别
项目内用@Value(value="${系统变量名}")
windows 查看变量 %变量名%
linux 查看变量 $变量名
(11)、RandomValuePropertySource,只有随机的属性 random.* 中。
(12)、jar包外面的 Profile-specific application properties (application- {profile} .properties和YAML)
(13)、jar包内的 Profile-specific application properties (application-{profile}.properties和YAML)
(14)、jar包外的应用属性文件(application.properties和YAML)
(15)、jar包内的应用属性文件(application.properties和YAML)
(16)、在@Configuration上的@PropertySource注解。
自定义的配置文件
(17)、默认属性(使用SpringApplication.setDefaultProperties设置)
启动类里设置 SpringApplication.setDefaultProperties();
(18) @Value 的默认值
=====================
https://www.cnblogs.com/binarylei/p/10645232.html
springboot配置详解 - 简书
=====================springboot配置详解 - 简书
java -jar 有几种传参方式
方式1: java -Dxxx=xxx -jar app.jar 设置系统参数
方式2: java -jar app.jar --xxx=xxx 长选项参数
方式2.2: java -jar app.jar xxx=value main方法的agrs数组传参, (用的少, 不能被sprinboot识别)
方式3: 系统全局变量里的设置
支持大写
如: spring.cloud.nacos.username=nacos
写成 SPRING.CLOUD.NACOS.USERNAME=nacos
或者 SPRING_CLOUD_NACOS_USERNAME=nacos
上述的1,2,3 对应了idea里面的3种参数设置
VM options; Program arguments; Environment variables;
优先级如下:
--长选项参数>-D系统参数>系统全局变量
=========
Spring系列第25篇:@Value【用法、数据来源、动态刷新】_spring @value 动态改变值_路人甲Java的博客-CSDN博客
https://www.cnblogs.com/dszazhy/p/15183787.html
Java启动参数(-, -X, -XX参数)详解_guyue35的博客-CSDN博客