Java:Spring:如何动态地将params传递给构造函数?
问题描述:
假装我有一个类:Java:Spring:如何动态地将params传递给构造函数?
public class Person {
private final String first;
private final String last;
private final Address address;
public Person(String first, String last, Address address){
this.first = first;
this.last = last;
this.address = address;
}
public String getFirst() {
return first;
}
public String getLast() {
return last;
}
public Address getAddress() {
return address;
}
}
而且我对上面的代理类:
public class PersonProxy
{
private Person person;
// --Other properties---
public PersonProxy(Person person)
{
this.person = person;
}
}
我们用来创建PersonProxy的一个实例是这样的:
PersonProxy proxy = new PersonProxy(new Person("Betty", "Kale" , "some address"));
但是我们最近搬到了春天nd想要将这两个类声明为上下文文件中的bean,但希望在创建代理对象时动态地在Person类的构造函数中传递这些参数。 如何可以声明那种豆对于那些2班在环境文件,我怎么能创建使用这些bean来代替的PersonProxy类的实例:
PersonProxy proxy = new PersonProxy(new Person("Betty", "Kale" , "some address"));
谢谢你是进步。
答
将此人创建为: Person person = context.getBean(Person.class,“Betty”,“Kale”,“some address”);
然后创建PersonProxy为: PersonProxy proxy = context.getBean(PersonProxy.class,person);
我并不真正理解这样一个类Spring bean的意义。但最简单的方法是使用JavaConfig并在您的配置类中添加一个'@ Bean'-annotated方法,该方法使用Java创建对象。 –
是的,目前还不清楚为什么你不能在没有弹簧的情况下创建这些实例,就像你之前做的那样。你不必将所有的对象管理迁移到spring – borowis