我需要使用PicoContainer实现依赖项注入,而无需传递构造函数参数,当前设置:
public class Shared_Data {
public Account_Pojo account_pojo;
public Shared_Data(Account_Pojo account_pojo) {
this.account_pojo = account_pojo;
}
在上面的示例中,我需要使用PicoContainer来实现DI而不传递:Account_Pojo account_pojo作为构造函数的参数,这是否可能?
我没有运气就尝试过以下方法:
public class Shared_Data {
public Account_Pojo account_pojo;
public Shared_Data() {
}
public void setAccount_pojo(Account_Pojo account_pojo) {
this.account_pojo = account_pojo;
}
public Account_Pojo getAccount_pojo() {
setAccount_pojo(account_pojo);
return account_pojo;
}
}
答案 0 :(得分:2)
您可以使用SetterInjection
组件工厂[0]来设置微微容器。
pico = new DefaultPicoContainer(new SetterInjection());
pico.addComponent(Account_Pojo.class);
类似的事情应该起作用。