springboot:properties和yaml配置文件

     2022-03-18     294

关键词:

一、配置文件的生效顺序,会对值进行覆盖

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.properties配置文件:

##################################服务器配置##################################
server.port = 80
server.tomcat.uri-enconding = UTF-8
##################################随机数配置##################################
#32位的随机数
roncoo.secret=${random.value}
#数字随机数
roncoo.number=${random.int}
roncoo.number2.less.than.ten=${random.int(10)}
roncoo.number3.in.range=${random.int[1024,65536]}
##################################配属性占位符配置##################################
roncoo.name=zhangsan
roncoo.desc=${roncoo.name} is a domain name



四.Application属性文件,按优先级排序,位置高的将覆盖位置低的

1. 当前目录下的一个/config子目录

2. 当前目录

3. 一个classpath下的/config包

4. classpath根路径(root)

 

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


例子,基于上面例子,复制一份application.properties配置文件放在classpath下的/config包下,如下:

技术分享

技术分享

五. 配置应用端口和其他配置的介绍

#端口配置:

server.port=8090

#时间格式化

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

#时区设置(亚洲重庆)

spring.jackson.time-zone=Asia/Chongqing


注意:默认的时区不是中国的,上面配置的是亚洲重庆


如果设置时区时:

 技术分享

设置时区为亚洲重庆:

 技术分享



六. 使用YAML代替Properties

注意写法:冒号后要加个空格

本文出自 “我爱大金子” 博客,请务必保留此出处http://1754966750.blog.51cto.com/7455444/1934134

springboot配置文件详解(properties和yml)(代码片段)

...自己的配置文件,hibernate有hbm,mybatis有properties,同样,Springboot也有全局配置文件。Springboot使用一个全局的配置文件,而且配置文件的名字是固定的。有两种application.propertiesapplication.yml springboot配置文件的作用是用来修改Spr... 查看详情

springboot系统配置文件application.properties和application.yml

...文件的区别1.系统配置文件application.properties和application.ymlSpringBoot支 查看详情

springboot:properties和yaml配置文件

一、配置文件的生效顺序,会对值进行覆盖1.@TestPropertySource注解2.命令行参数3.Java系统属性(System.getProperties())4.操作系统环境变量5.只有在random.*里包含的属性会产生一个RandomValuePropertySource6.在打包的jar外的应用程序配置文件(... 查看详情

springboot中application.properties和application.yml文件

application.properties和application.yml文件可以放在一下四个位置:外置,在相对于应用程序运行目录的/congfig子目录里。外置,在应用程序运行的目录里内置,在config包内内置,在Classpath根目录同样,这个列表按照优先级排序,也就是... 查看详情

springboot系统配置文件application.properties和application.yml(代码片段)

...文件的区别1.系统配置文件application.properties和application.ymlSpringBoot支 查看详情

springboot中properties和yml的区别

参考技术A1.properties文件中是以“.”进行分割的,在yml中使用“:”进行分割;2.properties文件通过“=”赋值,yml的数据格式类似json,通过“:”赋值,值前面需要加一个空格;yml文件缩进最好用空格;3.properties只支持键值对,yml配... 查看详情

springboot系统配置文件application.properties和application.yml(代码片段)

...文件的区别1.系统配置文件application.properties和application.ymlSpringBoot支持两种不同格式的配置文件:一种是Properties,另一种是YML。SpringBoot默认使用application.properties作为系统配置文件,项目创建成功后会默认在resource目录... 查看详情

springboot加载properties和yml配置文件的顺序

...s中:server.port=8001,application.yml中:server.port=8888。问题:springboot是否都加载这两个配置文件?如果两个文件有相同的key,取哪一个文件的value?答:都加载,且按properties→yml的顺序加载。在看到spring.factories中,配置加载器顺序... 查看详情

spring——springboot配置文件(代码片段)

JavaEE传送门JavaEESpring——Bean作用域和生命周期Spring——SpringBoot创建和使用目录SpringBoot配置文件SpringBoot配置文件格式properties配置文件properties基本语法properties缺点yml配置文件yml基本语法yml配置不同类型数据及nullyml配置对象yml配... 查看详情

springboot加载指定的属性文件(properties和yml文件)(代码片段)

springboot提供了多个注解可以将外部的值动态注入到Bean中,最常用的包括@Value注解,@ConfigurationProperties注解。这些注解只能读取默认的配置文件application.properties,要想加载非默认配置文件,需结合@PropertyS... 查看详情

springboot获取properties配置文件的属性

自定义properties文件获取属性 使用  @ConfigurationProperties((prefix="demo"))和  @PropertySource("classpath:myconfig.properties")来批量注值到bean中@Component@ConfigurationProperties(prefix="com.jy")@PropertySource(" 查看详情

springboot无法读取application.properties问题

springboot无法读取application.properties问题 https://bbs.csdn.net/topics/392374488https://www.cnblogs.com/mr-wuxiansheng/p/6891925.html关于spring获取webApplication.getBean多种途径和简单解释https://blog.csdn.net/sup 查看详情

springboot中.yml和.application的区别以及.yml和.properties配置在线转换(代码片段)

众所周知,SpringBoot配置文件application有两种格式,分别是yml,和properties,即application.properties和application.yml两者书写时候结构有着比较大的区别,这里推荐两种快速进行语法格式转化的方式正常的情况是先加载yml,接下来加载propertie... 查看详情

微服务之springboot自定义配置application.properties文件

配置的文件的格式springboot可以识别两种格式的配置文件,分别是yml和properties文件。我们可以将application.properties文件换成application.yml,这两个文件都可以被SpringBoot自动识别并加载,但是如果是自定义的配置文件,就最好还是使... 查看详情

springboot运行和打包端口不一致

您好,Springboot的运行和打包端口不一致的原因是,在Springboot的application.properties文件中可以设置不同的端口,运行时使用的是application.properties中的端口,而打包时使用的是pom.xml文件中的端口。因此,如果要使运行和打包的端口... 查看详情

springboot知识点

1. SpringBoot中application.yml与bootstrap.yml的区别   其实yml和properties文件是一样的原理,主要是说明application和bootstrap的加载顺序。且一个项目上要么yml或者properties,二选一的存在。Bootstrap.yml(bootstrap.properties)在applica 查看详情

springboot加载指定的属性文件(properties和yml文件)(代码片段)

...3 @PropertySource注解加载yml文件3、@value注解其他形式springboot提供了多个注解可以将外部的值动态注入到Bean中,最常用的包括@Value注解,@ConfigurationProperties注解。这些注解只能读取默认的配置文件application.propert... 查看详情

springboot——聊聊application.properties和application.yml的写法规范及区别(代码片段)

1.写在前面我们都知道SpringBoot项目都有一个核心配置文件叫application.xxx,这个xxx后缀名可以有三种类型:properties、yml、yaml,这里可能我理解的不太精确,我认为yml和yaml没什么区别。YAML是"YAMLAin'tMarkupLanguage&... 查看详情