狂神说Java
了解下主启动类怎么运行
SpringApplication
主要做了以下四件事情:
1、推断应用的类型是普通的项目还是Web项目
2、查找并加载所有可用初始化器,设置到initializers属性中
3、找出所有的应用程序监听器,设置到listeners属性中
4、推断并设置main方法的定义类,找到运行的主类
yaml语法讲解
# 普通的key-value
name: qingjiang
# 对象
#student:
# name: qinjiang
# age: 3
# 行内写法
student: {name: qingjiang,age: 3}
# 数组
#pets:
# - cat
# - dog
# - pig
pets: [cat,dog,pig]
yaml对空格的要求十分高
properties 只能保存键值对
给属性赋值的几种方法
@ConfigurationProperties(prefix = “person”)
将配置文件中配置的每一个属性的值,映射到这个组件中;
告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定
参数 prefix = “person” :将配置文件中的person下面的所有属性一一对应
package com.kuang.pojo;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private Integer age;
private Boolean happy;
private Date birth;
private Map maps;
private List
对应的yaml文件:
person:
name: qingjiang
age: 3
happy: false
birth: 2019/11/02
maps: {k1: v1,k2: v2}
list:
- code
- music
- girl
dog:
name: 旺财
age: 3
结论:
配置yaml和配置properties都可以获取到值,强烈推荐yaml
如果我们在某个业务中,只需要获取配置文件中的某个值,可以使用一下@value
如果说,我们专门编写了一个JavaBean来和配置文件进行映射,就直接使用@ConfigurationProperties,不要犹豫。
JSR303校验



