一.@ConfigurationProperties的作用:
将配置文件中配置的每一个属性的值映射到这个组件中;
告诉SpringBoot将本来中的所有属性和配置文件中的相关配置进行绑定;
参数 prefix = "person" 将配置文件中的person下面的所有属性一一对应;
对应的文件写在yaml文件中:格式如下切记yaml文件注意前面加空格
person:
name: zzn${random.uuid}
age: ${random.int}
happy: true
birth: 2021/05/30
maps: {k1: v1,k2: v2}
lists:
- code
- music
- girl
dog:
name: ${person.hello:hello}_旺财
age: 3
@ConfigurationProperties(prefix = "person")//如果觉得这样麻烦就@Value
二.# springboot在properties这个配置文件中到底可以配置哪些东西呢?
# 官方的配置太多了
# 了解的原理太多了
# 官方不适合properties文件喜欢yaml文件
三. @PropertySource(value = "classpath:zzn.properties")的作用
1.这个注解主要是spring中的指定配置文件-->resources下的zzn.properties
2.和SPEL 表达式取出配置文件的值一起配合使用
例如:
@Value("${name}")
private String name;
四.总结
一:javaConfig 绑定指定文件的值,可以采取这些方式:
1.yaml文件配合注解@ConfigurationProperties(prefix = "person")
2.properties文件配合注解@PropertySource(value = "classpath:zzn.properties")
3.就直接@Value()
五:@Autowired //可以理解为实例化 反正这个是注入的意思
private Person person;
六:@component (把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/>)
泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
最后jsr303校验包位置