Spring Boot 配置文件详解:Properties和YAML

一.配置文件的生效顺序,会对值进行覆盖: 
1. @TestPropertySource 注解 
2. 命令行参数 
3. Java系统属性(System.getProperties()) 
4. 操作系统环境变量 
5. 只有在random.*里包含的属性会产生一个RandomValuePropertySource 
6. 在打包的jar外的应用程序配置文件(application.properties,包含YAML和profile变量) 
7. 在打包的jar内的应用程序配置文件(application.properties,包含YAML和profile变量) 
8. 在@Configuration类上的@PropertySource注解 
9. 默认属性(使用SpringApplication.setDefaultProperties指定)

二.配置随机值 
roncoo.secret=${random.value} 
roncoo.number=${random.int} 
roncoo.bignumber=${random.long} 
roncoo.number.less.than.ten=${random.int(10)} 
roncoo.number.in.range=${random.int[1024,65536]}

读取使用注解:@Value(value = "${roncoo.secret}")

注:出现黄点提示,是要提示配置元数据,可以不配置

三.属性占位符 
当application.properties里的值被使用时,它们会被存在的Environment过滤,所以你能够引用先前定义的值(比如,系统属性)。 
roncoo.name=www.roncoo.com 
roncoo.desc=${roncoo.name} is a domain name

四.Application属性文件,按优先级排序,位置高的将覆盖位置低的 
1. 当前目录下的一个/config子目录 
2. 当前目录 
3. 一个classpath下的/config包 
4. classpath根路径(root)

这个列表是按优先级排序的(列表中位置高的将覆盖位置低的)

五. 配置应用端口和其他配置的介绍 
#端口配置: 
server.port=8090 
#时间格式化 
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss 
#时区设置 
spring.jackson.time-zone=Asia/Chongqing

六. 使用YAML代替Properties 
注意写法:冒号后要加个空格

时间: 2024-12-28 16:21:12

Spring Boot 配置文件详解:Properties和YAML的相关文章

史上最全面的Spring Boot配置文件详解

Spring Boot在工作中是用到的越来越广泛了,简单方便,有了它,效率提高不知道多少倍.Spring Boot配置文件对Spring Boot来说就是入门和基础,经常会用到,所以写下做个总结以便日后查看. 1.配置文件 当我们构建完Spring Boot项目后,会在resources目录下给我们一个默认的全局配置文件 application.properties,这是一个空文件,因为Spring Boot在底层已经把配置都给我们自动配置好了,当在配置文件进行配置时,会修改SpringBoot

Spring Boot? 配置文件详解:自定义属性、随机数、多环境配置等

自定义属性与加载 我们在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,我们可以如下方式直接定义: application-dev.yml com.didispace.blog: name: 程序猿DD title: Spring Boot教程 desc: ${com.didispace.blog.name}正在努力写<${com.didispace.blog.title}> # 随机字符串 value: ${random.value} # 随机int number: ${

spring boot配置文件详解

Spring Boot异常处理详解

在Spring MVC异常处理详解中,介绍了Spring MVC的异常处理体系,本文将讲解在此基础上Spring Boot为我们做了哪些工作.下图列出了Spring Boot中跟MVC异常处理相关的类. Spring Boot在启动过程中会根据当前环境进行AutoConfiguration,其中跟MVC错误处理相关的配置内容,在ErrorMvcAutoConfiguration这个类中.以下会分块介绍这个类里面的配置. 在Servlet容器中添加了一个默认的错误页面 因为ErrorMvcAuto

笔记:Spring Boot 配置详解

Spring Boot 针对常用的开发场景提供了一系列自动化配置来减少原本复杂而又几乎很少改动的模板配置内容,但是,我们还是需要了解如何在Spring Boot中修改这些自动化的配置,以应对一些特殊场景 配置文件 Spring Boot的默认配置文件位置为 src/main/resources/application.properties ,关于 Spring Boot 应用的配置文件内容都可以在该文件中,根据我们引入的不同模块,可以在这里定义容器端口号.数据库连接信息.日志级别等各种配置信息,

Spring Boot POM 详解

正如这幅图所展示的那样,在Spring IO Framework体系中,Spring Boot处在Execution layer,来看看官方对这层的解释: The Spring IO Execution layer provides domain-specific runtimes (DSRs) for applications built on the IO Foundation modules. A DSR may run standalone without requiring deplo

Spring Boot系列教程四:配置文件详解properties

一.配置随机数,使用随机数 在application.properties文件添加配置信息 1 #32位随机数 2 woniu.secret=${random.value} 3 #随机整数 4 woniu.number=${random.int} 5 #指定范围随机数 6 woniu.limitnumber=${random.int[0,9]} controller类中使用这些随机数 1 package com.woniu.controller; 2 3 import java.util.Has

Spring Boot 配置文件: application.properties和application.yaml

application.properties和application.yaml的使用大致上是一直的. properties 文件比较常见,但是相对于 properties 而言,yaml 更加简洁明了,而且使用的场景也更多,很多开源项目都是使用 yaml 进行配置(例如 Hexo).除了简洁,yaml 还有另外一个特点,就是 yaml 中的数据是有序的,properties 中的数据是无序的.在一些需要路径匹配的配置中,顺序就显得尤为重要(例如我们在 Spring Cloud Zuul 中的配置

Spring Boot Security 详解

简介 Spring Security,这是一种基于 Spring AOP 和 Servlet 过滤器的安全框架.它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权. 工作流程 从网上找了一张Spring Security 的工作流程图,如下. 图中标记的MyXXX,就是我们项目中需要配置的. 快速上手 建表 表结构 建表语句 DROP TABLE IF EXISTS `user`; DROP TABLE IF EXISTS `role`; DROP TABLE IF