SpringBoot 学习(二)配置
最佳答案 问答题库658位专家为你答疑解惑
2. SpringBoot 配置
2.1 配置文件类型
- 配置文件用于修改 SpringBoot 的默认配置。
2.1.1 properties 文件
-
**properties ** 是属性文件后缀。
-
文件名:application.properties
-
只能保存键值对。
-
基础语法:key=value
name=why
-
注入配置类
@Component // 声明为 Spring 组件 @PropertySource(value = "classpath:config.properties") public class Person {@Value("${name}")private String name; }
需要在 IDEA 的 settings --> FileEncodings 中设置编码格式为 UTF-8。
2.1.2 yaml 文件
-
yaml 是一个可读性高,用来表达数据序列化的格式。
-
文件名:application.yml 或 application.yaml
-
能保存键值对、对象和表达式。
-
基础语法:key: 空格 value
# 键值对 name: why# 对象 student:name: whyage: 20student: {name: why,age: 20}# 数组 pets: - cat- dog- pigpets: [cat,dog,pig]# 表达式 dog:name: ${siri:siri}_旺财
-
注入配置类
-
导入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional> </dependency>
-
映射到类
@Component // 声明为 Spring 组件 @ConfigurationProperties(prefix = "person") // 映射配置文件的值到组件 public class Person {...}
-
2.1.3 配置注入比较
(1) 松散绑定
-
yaml 文件中的 dog-name 可以为类中的 dogName 赋值
dog:dog-name: 富贵dog-age: 3
@Component @ConfigurationProperties(value = "dog") public class Dog {private String dogName;private Integer dogAge; }
(2) JSR303数据校验
● 检查属性的数据格式。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId>
</dependency>
person:email: 123456
@Component // 声明为 Spring 组件
@Validated // 数据格式校验
@ConfigurationProperties(prefix = "person") // 映射配置文件的值到组件
public class Person {@Email(message = "邮箱格式错误")private String email;
}
检查结果:default message [邮箱格式错误];
● 数据格式检查常用注解
Maven:jakarta.validation:jakarta.validation-api:2.0.2
2.2 配置文件路径
2.2.1 路径优先级
-
优先级从高到低排序
-
file
为项目目录,classpath
为资源目录,即resources
(1)
file:./config/
(2)
file:./
(3)
classpath:/config/
(4)
classpath:/
-
2.2.2 多环境配置
- 整合线上、测试或者其他用途的环境配置。
properties 文件
-
application.properties
spring.profiles.active=test
-
application-test.properties
server.port=8081
-
application-dev.properties
server.port=8082
yaml 文件
-
application.yml
server:port: 8080 spring:profiles: test --- server:port: 8081 spring:profiles: test --- server:port: 8082 spring:profiles: dev
2.3 配置文件内容
- 配置文件中的内容都基于
xxxAutoConfiguration
绑定并装配的xxxProperties
类。- 开发者编写配置文件,给
xxxProperties
类属性赋值。 xxxAutoConfiguration
使用xxxProperties
类属性修改配置默认值。
- 开发者编写配置文件,给
- 配置文件 -->
xxxProperties
-->xxxAutoConfiguration
--> 修改配置默认值
2.4 总结
-
SpringBoot 启动会加载大量自动配置类,
-
检查 SpringBoot 默认的自动配置类中是否含有所需配置组件,若没有则需手动添加。
-
手动添加组件时,SpringBoot 从 Properties 类中获取某些属性,在配置文件中指定这些属性的值即可实现自动装配。
-
xxxAuotoConfiguration:自动配置类;
xxxProperties:封装配置文件的相关属性;
xxx.yml:为属性赋值,完成配置。
-
debug: ture
:日志打印配置。
99%的人还看了
相似问题
- 配置Nginx服务器用于Web应用代理和SSL{仅配置文件}
- rk3588使用vscode远程debug 配置文件
- Python3.7+PyQt5 pyuic5将.ui文件转换为.py文件、Python读取配置文件、生成日志
- SpringBoot-配置文件properties/yml分析+tomcat最大连接数及最大并发数
- Nginx的核心配置文件
- docker 安装mongodb 实现 数据,日志,配置文件外挂
- 总结:利用原生JDK封装工具类,解析properties配置文件以及MF清单文件
- 在gitlab中指定自定义 CI/CD 配置文件
- Spring集成MyBatis(自定义类和xml配置文件两种形式)
- IS420ESWBH3A GE 附加配置文件和I/O组件中的单独标签
猜你感兴趣
版权申明
本文"SpringBoot 学习(二)配置":http://eshow365.cn/6-13959-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!