Spring Boot 启动(二) 配置详解
Spring Boot 启动(二) 配置详解
Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html)
一、Spring Framework 配置
略...
二、Spring Boot 配置
2.1 随机数配置
name.value=${random.int}
name.int=${random.int}
name.long=${random.long}
name.uuid=${random.uuid}
name.test1=${random.int(10)}
name.test2=${random.int[10,20]}
2.2 命令参数
java -jar xxx.jar --server.port=8080
2.3 多配置文件
applicaiton-dev.properties # 开发环境
applicaiton-test.properties # 测试环境
applicaiton-prod.properties # 生产环境
配置文件关联 profile 除了以上方式,还有另外两种方式:
- applicaiton-dev.properties 文件名指定剖面
- applicaiton.properties && spring.profile=dev 文件内容配置 spring.profile
- applicaiton-dev.properties && spring.profile=dev 文件名指定剖面且文件内容配置 spring.profile
2.3 spring.application.json
spring.application.json 或 SPRING_APPLICATION_JSON 定义的 json 字符串。
java -jar xxx.jar --spring.application.json='{"foo":"bar"}'
2.4 Spring Boot 加载顺序
- 命令行传入的参数。
- SPRING_APPLICATION_JSON 中的属性。 SPRING_APPLICATION_JSON 是以 JSON 格式配置在系统环境变量中的内容。
- java:comp/env 中的 JNDI 属性。
- Java 的系统属性,可以通过 System.getProperties() 获得的内容操作。
- 系统的环境变量。
- 通过 random.* 配置的随机属性。
- 位于当前应用 jar 包之外,针对不同 {profile} 环境的配置文件内容,例如 application-{profile}.properties 或是 YAML 定义的配置文件。
- 位于当前应用 jar 包之内,针对不同 {profi1e} 环境的配置文件内容,例如 application-{profile}.properties 或是 YAM 定义的配置文件。
- 位于当前应用 jar 包之外的 application.properties 和 YAML 配置内容。
- 位于当前应用 jar 包之内的 application.properties 和 YAML 配置内容。
- 在 @Configuration 注解修改的类中,通过 @PropertySource 注解定义的属性。
- 应用默认属性,使用 SpringApplication.setDefaultProperties 定义的内容。
以上配置属性加载类如下:
- 第一项是在 prepareEnvironment -> configureEnvironment -> configurePropertySources 定义的 CommandLinePropertySource。
- 第二项是在 spring.factories 中定义的 SpringApplicationJsonEnvironmentPostProcessor 处理,也实现了 EnvironmentPostProcessor 接口,优先级高于 ConfigFileApplicationListener。
- 第三-五项是 Spring Framework 标准的属性,初始化 Environment 时配置。
- 第六项是在 ConfigFileApplicationListener 中定义的 RandomValuePropertySource。
- 第七-十项是在 ConfigFileApplicationListener 中加载配置文件,也实现了 EnvironmentPostProcessor 接口。
每天用心记录一点点。内容也许不重要,但习惯很重要!
Spring Boot 启动(二) 配置详解的更多相关文章
- Spring Boot启动命令参数详解及源码分析
使用过Spring Boot,我们都知道通过java -jar可以快速启动Spring Boot项目.同时,也可以通过在执行jar -jar时传递参数来进行配置.本文带大家系统的了解一下Spring ...
- Spring Boot整合Mybatis配置详解
首先,你得有个Spring Boot项目. 平时开发常用的repository包在mybatis里被替换成了mapper. 配置: 1.引入依赖: <dependency> <gro ...
- spring boot application properties配置详解
# =================================================================== # COMMON SPRING BOOT PROPERTIE ...
- (转)Spring boot——logback.xml 配置详解(二)
文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 1 根节点<configuration>包含的属性 scan: 当此属性设置为t ...
- Spring boot——logback.xml 配置详解(二)
阅读目录 1 根节点包含的属性 2 根节点的子节点 文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 回到顶部 1 根节点<config ...
- (转)Spring boot——logback.xml 配置详解(三)<appender>
文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 1 appender <appender>是<configuration& ...
- Spring boot——logback.xml 配置详解(三)<appender>
阅读目录 1 appender 2 encoder 文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 回到顶部 1 appender < ...
- (转)Spring boot——logback.xml 配置详解(四)<filter>
文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 1 filter的使用 <filter>: Logback的过滤器基于三值逻辑( ...
- Spring boot——logback.xml 配置详解(四)<filter>
阅读目录 1 filter的使用 2 常用的过滤器 文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 回到顶部 1 filter的使用 < ...
- Spring Boot(八):RabbitMQ详解
Spring Boot(八):RabbitMQ详解 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. 消息中间件在互联网公司的使用中越来越多 ...
随机推荐
- dax学习
增长率 = (DIVIDE(SUM('业绩达成'[实际业绩]),CALCULATE(SUM('业绩达成'[实际业绩]),PREVIOUSMONTH('业绩达成'[周期])))-1)*100上月业绩 = ...
- C 语言能不能在头文件定义全局变量?
可以,但一般不会将全局变量的定义写在头文件中. 因为如果多个 C 源文件都添加了头文件,很容易引起重定义的问题.这时候一般编译器都会提示:“multiple definition of... firs ...
- python_11 装饰器,闭包
装饰器:本质就是函数,功能是为其他函数添加附加功能 原则: 1.不修改被修饰函数的源代码 2.不修改被修饰函数的调用方式 装饰器的知识储备 装饰器=高阶函数+函数嵌套+闭包 #装饰器: def tim ...
- 500G !!史上最全的JAVA全套教学视频网盘分享 (JEECG开源社区)
500 G JAVA视频网盘分享(JEECG开源社区) [涵盖从java入门到深入架构,Linux.云计算.分布式.大数据Hadoop.ios.Android.互联网技术应有尽有] JEECG开源社区 ...
- Delphi中Chrome Chromium、Cef3学习笔记(五)
原文 http://blog.csdn.net/xtfnpgy/article/details/48489489 一.模拟移动鼠标 // SetCursorPos(StrToInt(Edit ...
- 腾讯基于Kubernetes的企业级容器云平台GaiaStack (转)
GaiaStack介绍 GaiaStack是腾讯基于Kubernetes打造的容器私有云平台.这里有几个关键词: 腾讯:GaiaStack可服务腾讯内部所有BG的业务: Kubernetes:Gaia ...
- Java中的char占用几个字节
目录 1.概述 2.答疑 3.总结 1.概述 网上或书上都说是Java中的char占用2个字节,一直没有深入,直到接触了编码,才对此产生了疑问,今天来深入一下这个问题. 2.答疑 char在设计之初的 ...
- 《Dare To Dream》第六次作业:团队项目系统设计改进与详细设计
团队项目系统设计改进与详细设计 一.团队项目系统设计改进 任务1: a.分析项目系统设计说明书初稿的不足,特别是软件系统结构模型建模不完善内容. 初稿的不足:缺乏每个模块的具体业务流程详细设计和流程 ...
- vue---mint-ui组件loadmore(上拉加载,下拉刷新)
1. 先安装mint-ui 2. 在main.js中引入mint-ui的css样式和组件 import "mint-ui/lib/style.css"; import {Loadm ...
- linux下安装zabbix
1.安装源:sudo rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/6/i386/zabbix-release-3.2-1.el6.noarch.rp ...