第一种方式

如果想要来配置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,将类添加成容器中的组件并且开启属性绑定功能

此作者没有提供个人介绍
最后更新于 2025-04-18