@ConfigurationProperties、@EnableConfigurationProperties实体类映射配置文件中属性值

1.第一种配置@Component+@ConfigurationProperties

配置类

复制代码
@Component
public class MyConfig1 {

    @Bean
    public User user(){
        return new User();
    }

}

或者在User类上加
@Component

复制代码
复制代码
@Data
@ConfigurationProperties(prefix = "user")
public class User {

    private String myName;

    private int age;

    public User(String myName, int age) {
        this.myName = myName;
        this.age = age;
    }
    public User(){

    }

    @Override
    public String toString() {
        return "User{" +
                "myName='" + myName + '\'' +
                ", age=" + age +
                '}';
    }
}
复制代码

application.properties

user.myName=zhangsan
user.age=20

第一种输出类

  public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(StudyWork1Application.class, args);
        User user = run.getBean(User.class);
        System.out.println(user);
    }

第一种输出结果

 

第二种输出类

复制代码
@RestController
public class MyController {

    @Autowired
    private User user;


    @RequestMapping("/userInfo")
    public User getUser(){
        return user;
    }

}
复制代码

访问

http://localhost:8080/userInfo

第二种输出结果

 2.第二种配置@ConfigurationProperties+@EnableConfigurationProperties

配置类

@Component
@EnableConfigurationProperties(User.class)
// 1.开始配置绑定功能
// 2.把这个User组件自动注册到容器中
public class MyConfig1 { }
复制代码
@Data
@ConfigurationProperties(prefix = "user")
public class User {

    private String myName;

    private int age;

    public User(String myName, int age) {
        this.myName = myName;
        this.age = age;
    }
    public User(){

    }

    @Override
    public String toString() {
        return "User{" +
                "myName='" + myName + '\'' +
                ", age=" + age +
                '}';
    }
}
复制代码

同上输出

posted @   Dabo丶  阅读(96)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示