第一种,通过直接注解的方式,不需要依靠set方法来赋值
@Component
public class Product {
@Value("张三")
private String name;
@Value("18")
private Integer age;
@Override
public String toString() {
return "Product{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
第二种:通过给set方法提供@Value注解的方式赋值
@Component
public class Product {
private String name;
private Integer age;
@Value("张三")
public void setName(String name) {
this.name = name;
}
@Value("18")
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Product{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
第三种:通过给构造方法提供@Value注解来赋值
@Component
public class Product {
public Product(@Value("张三") String name, @Value("18")Integer age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Product{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}