springboot使用yaml替代properties的好处:
yaml:是一个可读性高,用来表达数据序列化的格式
省去配置,方便书写
可以直接对对象进行赋值
支持松散语法等等
具体步骤:
1.严格的语法限制:键值对形式:k: v(注意空格)
且阶梯式的表示等级关系,等级间关系时分严格。如:类与类之间、属性与属性之间应列对齐。
如:
#yaml 可以存对象
server:
port: 8888
#yaml可以直接给实体类赋值
person:
name: yun
age: 22
happy: true
birther: 1999/09/09
maps: {k1: V1,K2: V2}
lists: [a,b,c]
dog:
name: 大黄
age: 21
//相应注解回顾
1.@Component:添加为spring组件 //注册bean
2.@ConfigurationProperties(prefix = "person" ) :注解Person绑定了实体类与对应properties文件,完成注入(将配置文件中配置的每一个属性的值映射到这个组件中。告诉springboot将本类中的所有属性和配置文件中的相关配置进行绑定)
3.@PropertySource :加载指定的配置文件
如:
@PropertySource("classpath:....properties")
yaml中可以有的配置:¥{person.name:name1}_bl
//取person.name的值,若存在(假设为names),则此时的结果为names_bl;
若不存在此值,则赋name1,此时结果为name1_bl
4.@Aotuwired的加深理解:可以加在属性或set方法上,注:加在属性上时可以没有set方法。
@SpringBootTest
class DemoApplicationTests {
@Autowired
private Person person1;
@Test
void contextLoads() {
System.out.println(person1);
}
}
此时作用是:将IOC容器中的Person注入person1
举例,(引用kuang)
@Autowird还可以配合@Qualifier(value=”“)指定具体某一个注入