我在一个不控制PicoContainer启动的环境中工作,它是这样提供给我的:
ApplicationManager.getApplication().getPicoContainer().getComponentInstanceOfType(Xyz.class);
我的问题是如何通过PicoContainer
?
我能以某种方式获得对DefaultPicoContainer
或MutablePicoContainer
的引用吗?
或者我可以将PicoContainer
投射到MutablePicoContainer
吗?
注意:使用“旧版”,picocontainer 1.3
感谢您的任何提示。
答案 0 :(得分:0)
我发现投射到MutablePicoContainer
非常简单:
MutablePicoContainer picoContainer = (MutablePicoContainer) ApplicationManager.getApplication().getPicoContainer();
picoContainer.unregisterComponent("a.b.c");
picoContainer.registerComponentImplementation("a.b.c", MyComponent.class);
我猜默认PicoContainer
是作为一种“只读”容器提供的。