spring boot 手动value和自动注入配置的区别
2021-01-19 20:13
标签:over component 类型 五个 return set 第一个 one prefix 前面两篇中,写道我们注入配置的方式,是通过是注解的方式完成,如下: 这意味着: 我们写一个person类,我们就需要在配置中写下person的配置。 但是现在有一个这样的需要,有一个新的配置类,需要的是person中的age。 理论上呢,我们可以再写一遍age,但是这样又耦合了。那么这时候可以使用value的方式来配置。 那么可以这样解决: 我在一个新的newperson配置中引用了person的配置。 好的,那么这两种配置有什么区别: 第一个区别不用多说,第二个区别在于: 第三个区别在于value中可以写一些计算方式: 第四个在于: 通过自动配置的方式呢,你可以添加一些验证条件,如果不满足的话,那么会这样。 第五个在于: spring boot 手动value和自动注入配置的区别 标签:over component 类型 五个 return set 第一个 one prefix 原文地址:https://www.cnblogs.com/aoximin/p/12906332.html前言
@ConfigurationProperties(prefix ="person")
@Component
public class Newperson {
@Value("${person.last-name}")
private String lastName;
@Override
public String toString() {
return "Newperson{" +
"lastName=‘" + lastName + ‘\‘‘ +
", age=" + age +
‘}‘;
}
@Value("${person.age}")
private Integer age;
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
就是说value中只支持last-name,不支持lastName这种命名规则。
@Value("#{10*10}")
private Integer age;
@Component
@Validated
@ConfigurationProperties(prefix ="person")
public class Person {
@Email
private String lastName;
不支持一些复杂的类型:如 Map
上一篇:java反射机制的作用与优点
文章标题:spring boot 手动value和自动注入配置的区别
文章链接:http://soscw.com/index.php/essay/44212.html