欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

@ConfigurationProperties进行配置绑定

程序员文章站 2022-03-01 15:01:50
...

springboot进行开发中,需要将配置文件里的数据绑定到javabean中,可以使用@ConfigurationProperties注解方便的进行绑定

首先准备两个javabean

@Data
public class Address {

    private String province;
    private String city;
}
@Data
public class Student {

    private String name;
    private Integer age;
    private Address address;
}

在配置文件中对javabean进行配置信息

student.name=李磊
student.age=30
student.address.province=广东
student.address.city=深圳

对User类进行加注解@ConfigurationProperties(prefix = "user")和@Component

@ConfigurationProperties(prefix = "user")表示该类与配置文件中以“user”为前缀的配置信息进行绑定;

@Component表示将该JavaBean注入到容器中。

@Data
@Component
@ConfigurationProperties(prefix = "student")
public class Student {

    private String name;
    private Integer age;
    private Address address;
}

测试效果

@Controller
public class LoginController {

    @Autowired
    private Student student;

    @ResponseBody
    @GetMapping("/getstu")
    public Student getStu(){
        return student;
    }

}

运行后访问本机localhost:8080/getuser

得到结果:

@ConfigurationProperties进行配置绑定

 

注:如果为引用的其他模块的类,在类上无法添加注解@Component

可在配置类上引用@EnableConfigurationProperties(Student.class)注解将Student类注入容器

@Configuration(proxyBeanMethods = true)
@EnableConfigurationProperties(Student.class)
public class MyConfig {