@ConfigurationProperties给属性映射值编写JavaBean/** 将配置文件application.properties中配置的每一个属性值映射到当前类的属性中;* @ConfigurationProperties:告诉springboot将本类中所有属性和配置文件中相关的配置进行绑定;* prefix="person":指出将配置文件中person下的所有属性进行一一映射;** 注意:只有当前这个类是容器中的组件时,才可以用容器提供的@ConfigurationProperties功能;** */ @Component@ConfigurationProperties(prefix="person")public class Person { private String lastName; private Integer age; private Boolean boss; private Date birth; private Map maps; private List lists; @Override public String toString() { return "Person{" + "lastName='" + lastName + '\'' + ", age=" + age + ", boss=" + boss + ", birth=" + birth + ", maps=" + maps + ", lists=" + lists + '}'; } getter... setter... }编写配置文件#private String lastName;#private Integer age;#private Boolean boss;#private Date birth;##private Map maps;#private List lists; #配置person的属性值person.last-name=zhangsanperson.age=18person.boss=falseperson.birth=1992/02/20person.maps.k1=v1person.maps.k2=111person.lists=a,b,c 测试类:@RunWith(SpringRunner.class)@SpringBootTestpublic class TestApplicationConfig { @Autowired Person person; @Test public void testPersonProperties(){ System.out.println(person); }}运行结果:

@Value给属性设置值编写JavaBean@Component//@ConfigurationProperties(prefix="person")public class Person { @Value("${person.last-name}") // 从配置文件中获取值 private String lastName; @Value("#{2*8}") // spring表达式 private Integer age; @Value("true") // boolean值 private Boolean boss; private Date birth; private Map maps; private List lists; @Override public String toString() { return "Person{" + "lastName='" + lastName + '\'' + ", age=" + age + ", boss=" + boss + ", birth=" + birth + ", maps=" + maps + ", lists=" + lists + '}'; }}运行结果:

@ConfigurationProperties和@Value对比  @ConfigurationProperties @Value功能 根据配置文件中设置的属性,批量注入属性值 单个指定值松散语法 支持(lastName可以写作last-name、last_name) 不支持SpEL(Spring表达式) 不支持 支持JSR303数据校验 支持(可以通过@Email等注解校验属性值是否符合要求) 不支持复杂类型封装(Map、List等类型) 支持 不支持应用场景如果只是某个业务中需要获取配置文件中的某项值或者设置具体值,可以使用@Value;如果一个JavaBean中大量属性值要和配置文件进行映射,可以使用@ConfigurationProperties;--------------------- 作者:小猴子豆芽菜 来源:CSDN 原文:https://blog.csdn.net/XU906722/article/details/81517429 版权声明:本文为博主原创文章,转载请附上博文链接!

 

相关文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。

发表评论

返回顶部暗黑模式