SpringBoot的配置
springboot的配置文件
yml properties 两种格式的配置文件
全局配置文件 application.yml 叫其他不识别的
key: value(有明显的层级关系)
Yml的基本语法
先说一下yml的注意事项
k:(空格)v:表示一对键值对(空格必须有);
以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
server:
port: 8888 #设置端口号
servlet:
path: /day01 #设置虚拟路径
#换行缩进关系
#k:(空格)v:表示一对键值对(空格必须有);
#以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
#属性和值也是大小写敏感;
username: JiaHui #定义一个字面量的数据
#emp: #定义一个对象
# ename: dog
# age: 19
# address: usb
#emp1: {ename: zhangsan,age: 14,address: China} #行内写法
list: #构建一个集合(数组 set 类似的做法)
- abc
- bcd
- efg
list1: [a,b,c,d] #行内写法
person:
lastName: JiaHui
age: 22
boss: true
birth: 1981/01/09
email: liyun@qq.com
maps: {k1: v1,k2 : v2}
lists:
-zhangsan
-lisi
-laoniu
dog:
name: laiwang
age: 5
emp:
empName: liyun
age: 39
isMarried: false
值的写法
yml中值又分为几种
字面值
k: v:字面直接来写;
下面展示一些 代码
。
port: 8888 #设置端口号
对象
下面展示一些 代码
。
lastName: JiaHui
age: 22
boss: true
birth: 1981/01/09
数组
list: #构建一个集合(数组 set 类似的做法)
- abc
- bcd
- efg
list1: [a,b,c,d] #行内写法
最重要的就是注解
重点来了
springboot常用注解
第一个注解**@Component**
只有将这个类配置在Spring容器中 才能使用@ConfigurationProperties的功能 相当于
第二个注解**@ConfigurationProperties**
@ConfigurationProperties:配置属性 将配置文件中的指定的属性值绑定到bean里
第三个注解**@Validated**
开启数据校验
在application.yml文件中 email的值只能是邮箱类型,否则启动报错。
@Email //邮箱注解校验(现在不常用)
第三个@PropertySource(重点)
我们可以定义局部的配置文件,然后使用@PropertySource注解进行获取。
第四个@@ImportResource(了解)
Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;这个时候 这个兄弟就派上了用场
在springboot项目中,我们在spring容器中添加组件,我们一般不用以上使用xml的方式。Springboot推荐我们使用全注解的方式在spring容器添加组件。
spring拓展
**在spring中如何管理bean?**
- 无参数的构造函数
- 静态实例化工厂
- 实例化工厂
- 注解 @Controller @Service …
- java配置类的方式管理bean
springboot中如何注入属性的?
编写一个pojo类,用来绑定配置文件里面定义的属性值
在application.yml里面定义属性(属性的名称必须要和pojo类里面的属性保持一致)
进行绑定的操作 使用@ConfigurationProperties(prefix=“person”)