springboot配置文件加载顺序, java启动参数优先级

搜索: "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文件中的标签

(7)、ServletContext 初始化参数。

web.xml文件中的标签

(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;

springboot配置文件加载顺序, java启动参数优先级_第1张图片

优先级如下:

--长选项参数>-D系统参数>系统全局变量

=========

Spring系列第25篇:@Value【用法、数据来源、动态刷新】_spring @value 动态改变值_路人甲Java的博客-CSDN博客

https://www.cnblogs.com/dszazhy/p/15183787.html

Java启动参数(-, -X, -XX参数)详解_guyue35的博客-CSDN博客

你可能感兴趣的:(spring,java,spring,boot)