Springboot 配置文件
1. 统一配置管理
1.1 springboot是进行统一配置文件管理的,对任何的配置参数(如端口号、数据库连接信息、项目根路径…),需要集中到一个统一的配置文件,以 application开头,后缀名为 properities 或 yml,( 即 application.properities 或 application.yml )。
位置:resources文件夹下,必须命名application 后缀 .properties / .yaml / .yml
1.2 配置方式有两种
-
springboot官方提供:
key 固定 ,只需修改 value 即可。
功能配置参数:
-
自定义配置
① 配置文件中自定义
② 通过@Value(${自定义参数 }) 读取
2. properties属性配置文件使用
application.properties文件
#application配置文件是springboot为所有框架提供配置参数的位置,需保证 key 不能重复
# 因此 key 会存在多层级命名,写起来比较麻烦 例如server.reactive.session.cookie.http-only
# 推荐 yaml / yml 文件格式
#properties 文件格式 key = value
# web 设置下服务器端口号 项目根路径 key指定不变
server.port=80
server.servlet.context-path=/boot
# 自定义
ljl.username=root
ljl.password=root
ljl.url=jdbc:mysql://localhost:3306/studb?serverTimeZone=GMT
ljl.driverClassName=com.mysql.cj.jdbc.Driver
3. yaml/yml 配置文件使用
yaml/yml是层次结构化的数据格式,可以继承的配置文件格式
缩进 代表继承上一层 key
key: value (:后有空格)
集合:key:
- v1
- v2
...
# server.port=80
# server.servlet.context-path=/boot
server:
port: 80
servlet:
context-path: /boot
# 自定义参数
sgu:
info:
username: root
password: root
4. 批量配置文件注入
读取配置的方式:
1.@Vaule 直接添加在属性上
@Value(key必须写全) @Value("${ls.info.username}")
@Value只能读取单个值,不能读取集合
2.批量配置读取
实体类中:属性名=最后一个key的值 (ls.info.)username
@ConfigurationProperties(prefix = "ls.info")
prefix:通用的前缀 ls.info
批量读取 ljl.info 开头的配置文件信息
优势:
1.方便,不用一个一个读取
2.可以给集合类型赋值
5. 多环境配置和使用
多环境配置:在springboot中,根据不同的运行环境(如开发,测试,生产)加载不同的配置文件,如数据库连接信息、日志信息、缓存配置等。
配置文件形式:application-{key}.properties/yaml/yml,如application-druid.yml、application-logback.yaml…
激活其他配置文件:
# 激活其他配置文件
spring:
profiles:
active: druid,logback