第一种方式
如果想要来配置javabean绑定到配置文件中,那么这个javabean必须得是容器中的组件。
// 配置文件
user:
id: 666
name: lig
// java类
@Data
@Component // 成为组件
@ConfigurationProperties(prefix = "user") // 属性配置绑定
public class User {
private Integer id;
private String name;
}
注意:需要提供get/setter方法才能够来设置对应的值。
第二种方式
在配置类上添加@EnableConfigurationProperties注解,表示:1、开启属性自动配置功能;2、成为容器中的组件;
配置类:
@SpringBootApplication
// 只能使用到配置类上
@EnableConfigurationProperties(value = {User.class})
public class SpringobootBasicOneApplication {}
对应的user类:
@Data
@ConfigurationProperties(prefix = "user")
public class User {
private Integer id;
private String name;
}
区别
第一种方式和第二种方式都是可以将配置文件中的属性和javabean来进行绑定。但是从第一种中可以看到,只能够在我们自己写的类上来进行标注,而无法针对于第三方包中的类来进行标注。所以这里是一个弱点,但是这个弱点对于第二种配置方式来说,是可以来解决的。
可以看到主要归功于注解:@EnableConfigurationProperties,将类添加成容器中的组件并且开启属性绑定功能
Comments NOTHING