【发布时间】:2016-04-29 07:06:15
【问题描述】:
我想动态创建 Foo 对象,但我希望 Foo 的一个字段由 Spring 的 xml 文件定义的属性值填充。
例如,我有以下 Foo 类:
public class Foo {
@Value("${val1}")
private String val1;
private String val2
public foo(String val2) {
this.val2 = val2;
}
public String getVal1(){
return val1;
}
public void setVal1(String val1) {
this.val1 = val1;
}
}
现在,我知道 @Value 将作为 null 出现,因为我的 Foo 对象在我的 XML 文件中没有定义为 bean。但是,我不想将它定义为 bean,因为我需要像这样动态定义 val2:
Foo foo = new Foo("val2");
有没有办法将 val1 注入到创建的每个 Foo 实例中?我知道new 运算符不在 Spring 的范围内,因此无法注入该值,但我主要是在寻找任何方法来在 Foo 的新实例中动态指定 val2,同时用 Spring 注入 val1。
【问题讨论】:
标签: java spring properties dependency-injection