Spring Boot

一、SpringBoot配置文件

1、配置文件(全局配置文件)

  1. application.yml
  2. application.properties
    作用:修改SpringBoot的默认配置
    名字固定。

1.1、yml的基本语法

  1. k: v kv之间需要有空格
  2. 以空格的缩进来控制层级关系。
  3. 属性和值也是大小写敏感的。

1.2、值的写法

  1. 字面量(数字,布尔,字符串)字符串默认不加引号,单引号会转义特殊字符,如\n不会换行,双引号不会转义特殊字符\n就会换行。
  2. 对象,Map
person:
	name: 陈旭敏
	age: 21

person: {name: 陈旭敏,age: 21}
  1. 数组,List,set
pets:
 - cat
 - dog

pets: [dog,cat,pig] 

1.3、配置文件值的注入

1.3.1@ConfigurationProperties赋值
  1. 将yml配置文件中的值通过@ConfigurationProperties注解和javabean中的值进行绑定。
  2. @ConfigurationProperties(prefix = “perosn”)和配置文件中哪个下面的所有属性进行映射。
  3. 使用@Component 来将类作为组件加入容器中,才能使用@ConfigurationProperties功能。
  4. SpringBoot单元测试 @RunWith(SpringRunner.class)和@SpringBootTest
  5. 支持松散语法绑定
  6. 支持JSR303数据校验 如@Email
  7. 支持复杂类型封装
1.3.2@Value()赋值
  1. @value("${person.name}")支持表达式
  2. @value("#{11*2}")支持运算
  3. 不支持松散语法绑定
  4. 不支持复杂类型封装,如@value("${person.maps}")
1.3.3 各自适用场景
  1. @ConfigurationProperties适合写一个javaBean与之映射
  2. @value适合个别值映射

2 配置文件(指定的配置文件)

  1. @propertySource(value = {calss:person.properties}),绑定指定的配置文件
  2. @ImportResource 导入指定的spring的配置文件。写在主配置类上 @ImportResource(locations = {“classpath:beans.xml”})。一般不这样使用,通常使用配置类配置。
  3. 配置类,在配置文件中使用@Configuration标识类,指定该类是一个配置类。@Bean标识方法,将方法的返回值添加到容器。用配置类的方式代替配置文件。
  4. 配置文件支持占位符和随机数。随机数 r a n d o m . i n t , 占 位 符 获 取 之 前 配 置 的 值 , 若 没 有 则 获 取 默 认 值 。 {random.int},占位符获取之前配置的值,若没有则获取默认值。 random.int,{person.hello:hello}

3 profile(切换环境)

  1. 多profile文件,在配置文件中指定spring,profiles.active=dev
  2. yml支持多文档快模式。
spring: 
 profiles: 
  active: dev
  1. 激活指定的profile(命令行方式和虚拟机参数)

4、配置文件加载顺序

  1. 文件根目录的config文件夹>文件根目录>类路径config文件夹>类路径。
  2. 高优先级配置会覆盖低优先级配置。
  3. SpringBoot会从四个位置全部加载,会形成互补配置。serve.port=8081,serve.context-path=/boot02
  4. 指定配置文件位置spring.config.location,项目打包后用命令行方式指定生效。
  5. 外部配置文件加载顺序

5、 自动配置原理

  1. spring.factories的xxxAutoConfiguration类都是容器中的组件,都加到容器中,用他们来配置。
  2. 每一个自动配置类进行自动配置功能
  3. 通过HttpEncoddingAutoConfiguration为例解释自动配置原理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值