0

我需要在不传递构造函数参数的情况下使用 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;
    }
}
4

1 回答 1

2

SetterInjection您可以使用组件工厂 [0]设置 pico 容器。

pico = new DefaultPicoContainer(new SetterInjection());
pico.addComponent(Account_Pojo.class);

像这样的东西应该工作。

[0] http://picocontainer.com/setter-injection.html

于 2019-10-02T11:29:41.003 回答