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

news/2024/10/21 3:43:49/

搜索: "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博客


http://www.ppmy.cn/news/63968.html

相关文章

FPGA入门系列14--VGA

文章简介 本系列文章主要针对FPGA初学者编写&#xff0c;包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解&#xff0c;旨在更快速的提升初学者在FPGA开发方面的能力&#xff0c;每一个章节中都有针对性的代码…

CPU主频设置

对时延和性能要求高的应用&#xff0c;建议关闭CPU的动态调节功能&#xff0c;禁止 CPU休眠&#xff0c;并把CPU频率固定到最高。 基本概念 CPU的工作模式&#xff1a;ondemand、interactive、conservative保守模式省电、performance、powersave省电模式。 C-state 是cpu的睡眠…

python实现异步过程asyncio

异步发展过程 1.用greenlet from greenlet import greenletdef fun1():print(1) def fun2():print(2) g1greenlet(fun1) g2greenlet(fun2) g1.switch() 2.用yield 3.用asyncio import asyncio asyncio.coroutine def fun3():yield from asyncio.sleep(2)print(3) tasks[a…

Unity用脚本获取物体和组件(下)

一、应用父子关系 1、通过父子关系获取物体 仔细观察Hierarchy窗口会发现&#xff0c;其实拥有大量“父子关系”的物体已经构成了树形结构。在Unity中&#xff0c;“父子关系”的表达是Transform组件的职责。下表列出了在父子节点之间查找物体的相关方法和属性 Transform组件…

基于络达SOC AB1562A TWS蓝牙耳机设计

V hezkz17进数字音频答疑 一 原理框图 二 电子电路设计 (1)SOC主芯片 (2) 最小系统晶振电路设计26MHZ (3) 电池电路设计 4 充电电路与充电保护设计 5 LED输出电路设计</

【C++】 类基础汇总(类封装,构造、析构函数...)

目录 前言 正文 类封装 为什么要进行类封装 概念 访问修饰符 构造函数 概念 特点 析构函数 概念 特点 再谈面向过程与面向对象 面向过程 代码举例 面向对象 代码举例 结语 下期预告 前言 在学习过【C语言进阶C】 C基础--让你丝滑的从C语言进阶到C 之后&am…

智能改写工具免费-智能改写工具

中文改写软件 您好&#xff0c;中文改写软件是使用人工智能技术改写中文文本的工具。它可以自动识别并改写文本中的某些词语、短语或句子&#xff0c;以使它们在语意上更为准确、清晰或通顺。 中文改写软件的工作原理基于自然语言处理技术。它使用预先训练好的模型&#xff0…

python数据类型总结

标准数据类型 Python 有以下几种标准数据类型&#xff1a; 整数&#xff08;int&#xff09;&#xff1a;表示整数值&#xff0c;如 1, -5, 0 等。浮点数&#xff08;float&#xff09;&#xff1a;表示小数值&#xff0c;如 3.14, -0.01, 1.0 等。字符串&#xff08;str&…