如何通过PicoContainer实例替换组件?

时间:2013-09-13 13:07:12

标签: java picocontainer

我在一个不控制PicoContainer启动的环境中工作,它是这样提供给我的:

ApplicationManager.getApplication().getPicoContainer().getComponentInstanceOfType(Xyz.class);

我的问题是如何通过PicoContainer

替换组件

我能以某种方式获得对DefaultPicoContainerMutablePicoContainer的引用吗?

或者我可以将PicoContainer投射到MutablePicoContainer吗?

注意:使用“旧版”,picocontainer 1.3

感谢您的任何提示。

1 个答案:

答案 0 :(得分:0)

我发现投射到MutablePicoContainer非常简单:

MutablePicoContainer picoContainer = (MutablePicoContainer) ApplicationManager.getApplication().getPicoContainer();
picoContainer.unregisterComponent("a.b.c");
picoContainer.registerComponentImplementation("a.b.c", MyComponent.class);

我猜默认PicoContainer是作为一种“只读”容器提供的。