我正在尝试在我的项目中使用 picoContainer。我对此知之甚少,但想试一试。
据我了解,我必须创建一个 picoContainer 并使用它注册组件。我做了这个
public static PicoContainer getPicoContainer(){
final MutablePicoContainer pico = new DefaultPicoContainer();
pico.registerComponentImplementation(X.class);
pico.registerComponentImplementation(A.class);
pico.registerComponentImplementation(C.class);
pico.registerComponentImplementation(V.class);
pico.registerComponentImplementation(T.class);
pico.registerComponentImplementation(D.class);
return pico;
}
现在我的问题是,对于任何组件来获取另一个组件,它需要一个 pico 句柄。要访问任何组件,它需要这样做
A juicer = pico.getComponent(A.class);
那么,在它们每个的构造函数中,我需要传入 pico 对象吗?我可以很容易地用工厂替换它。那有什么意义呢?我确定我在这里遗漏了一些东西。将不胜感激任何帮助。