配置文件+多环境配置+自定义属性
Posted zymbky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置文件+多环境配置+自定义属性相关的知识,希望对你有一定的参考价值。
二、SpringBoot 配置文件
1、 配置文件的路径及优先级
<1>、配置文件的路径
SpringBoot 使用了一个全局的配置文件 application.properties,该配置文件可以放置在以下几个位置:
根目录下
项目根目录中 config 目录下
项目的 resources 目录下
项目 resources 目录中 config 目录下
<2>、配置文件的优先级
经过测试,SpringBoot 项目中配置文件的读取顺序为:
1) config/application.properties(项目根目录中 config 目录下)
2) application.properties(项目根目录下)
3) resources/config/application.properties(项目 resources 目录中 config 目录下)
4) resources/application.properties(项目的 resources 目录下)
注意:
?1、如果同一个目录下,有 application.yml 也有 application.properties,默认先读取
application.properties。
2、如果同一个配置属性,在多个配置文件都配置了,默认使用第 1 个读取到的,后面读取的不覆盖前 面读取到的
3、创建 SpringBoot 项目时,一般的配置文件放置在“项目的 resources 目录下”
1、配置文件的两种文件格式
SpringBoot 项目默认加载的配置文件除了 application.properties 文件,还支持 application.yml(也可以写成 application.yaml)文件
与 application.properties 配置文件的作用一样,只是文件内容写法不一样
(1)、properties 文件
(2)、yaml(yml)文件
YAML Ain’t Markup Language,YAML 是一种简洁的非标记语言。YAML 以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读
YAML 有以下基本规则:
<1>大小写敏感
<2>使用缩进表示层级关系
<3>禁止使用 tab 缩进,只能使用空格键
<4>缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级
<5>使用#表示注释
<6>字符串可以不用引号标注
三、SpringBoot 多环境配置
1、多环境配置的引入
如果在项目中只有 application.properties(application.yml)一个配置文件的话,该文件中的属性值会经 常需要改动,就会使项目整体的体验变得非常差,而且出错率也极高。这时候,我们可以用 profile 在不同的环 境下配置不同的配置文件。这样一来,在 SpringBoot 项目中就出现了多环境的配置文件
2、多环境配置的设置
这是这个环境配置的代码
3、多环境配置的切换
四、自定义属性
1、配置文件中自定义属性
自定义的属性可以放到 application.properties(或 application.yml)全局配置文件中,也可以在自定义的其 他配置文件中定义。本课程以自定义的 stu.properties 为例
1、自定义的 stu.properties
2、如何读取自定义属性值到实体类
两种方式:
<1>使用@Value 注解将属性值注入指定到beans中
<2>使用@Configurationproperties注解将属性值绑定到特定结构化的beans中
第一种 @Value
第一步:建Student1实体类
下面是
无参,有参,get/set方法,toString
第二步
创建controller
第三步:运行项目
第二种:@Configurationproperties
第一步:导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
第二步:创建Student2
第三步:还在原来的controllrt
第四步:运行项目
以上是关于配置文件+多环境配置+自定义属性的主要内容,如果未能解决你的问题,请参考以下文章