Spring Boot 的配置
配置文件
Sping Boot 使用全局的配置文件
application.yml
配置文件的作用 修改Spring Boot 自动配置的默认值 ; Spring Boot 在底层都会给自动的配置好。
标记语言 :
以前的用的 xml的大多以xxx.xml 文件
YAML 文件是以数据为中心 json 比xml 跟适合做配置文件
标记语言
YAML 配置的例子
server
port:8081
XML : 配置的例子
<server>
<port>8081</port>
</server>
YAML 语法:
- 基本语法
以空格的缩进来控制层级关系 左对齐 的 情况
server:
port:8080
path:/hello
属性和值的大小写敏感 。
里面值的 写法 ;
对象Map ( 属性和值) 键值对
friends:
lastName: zhaangSan
age : 20
行内的写法
friend: {lastName:zhangsan,age:18}
数组 (List Set )【也有行内写法 】
用 -值表示数组中的一个元素
pets:
-cat
-dog
-pig
pets:[cat,dog,pig]
项目 | Value | ConfigurationProperties |
---|---|---|
功能 | 一个个 指定 | 批量注入文件中属性 |
松散绑定 | 不支持 | 支持 |
SPle | 支持 | 不支持 |
JSR303 数据校验 | 不支持 | 支持 |
@Validated 与ConfigrationProperties 通用 支持数校验
SPLE 既表达式配置
加载顺序
SpringBoot 启动会扫描以下位置的application.properties或者application.yml 文件作为Spring boot 的默认配置 文件
./file …/config/
./file …/
-classpath:config/
-classpath:/
优先级由高到底
可以通过SpringBoot localtion 来改变默认文件的位置
在运维的时候 通过打包的方式 进行操作的 情况 启动项目的时候来指定配置文件的新位置 ;指定配置文件和默认加载的这些配置问价会一起的起作用,形成互补配置。
###Spring Boot 中命令行参数的配置的情况
自动配置原理
自动配置 原理
- Spring Boot 启动的时候,加载主配置类,开启了自动配置功能 == @EnableAuto Configuration
@EnableAutoConfiguration
利用EnableAutoConfiguration给容器中导入一些组件?
可以插件select import() 方法的内容
每个自动配置类进行自动配置
Spring Boot 核心的思想
Spring Boot 启动会加载大量的自动配置类
2) 我们需要的 功能Spring Boot 默认写好的自定义配置类
3) 再看自定义配置类中到底配置啦那些组件(只要用 的组件有那我们就不需要配置啦
- 给容器中自动配置类添加组件的是时候 会从proper 类中获取某些属性 我们就可以 在配置文件中指定某些属性的值
。
XXXAutoConfiguration 自动配置类
给容器中添加组件
XXXProperties :
封装配置问文件的相关的属性:
@Conditional 派生注解 (Spring 注解版原生的@conditional作用)
作用:必须是@conditional 指定的的条件成立,才给容器中添加组件 ,配置里面的所有的内容才能生效。
只有在特定的环境条件下才能生效。
我们怎么知道那些自动配置类生效
可以通过在配置文件中开启DEBUG 模式 = TRUE 属性来让 控制台打印 自动配置报告。这样我们就可以很方便的 知道那些自定义配置的类生效。 那些自定义配置的类没有生效。
@Positive matches 就是生效的意思
@ Negative matches: 没有匹配上的
1
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/77166.html