0

PicoContainer の起動を制御しない環境で作業していますが、次のように提供されます。

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

私の質問は、PicoContainer?を介してコンポーネントを交換する方法です。

DefaultPicoContainerまたはMutablePicoContainer何とかへの参照を取得できますか?

または、キャストできPicoContainerますMutablePicoContainerか?

注:「古い」バージョンの picocontainer 1.3 を使用

ヒントをありがとう。

4

1 に答える 1

0

にキャストするのと同じくらい簡単であることがわかりましたMutablePicoContainer

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

PicoContainerデフォルトは一種の「読み取り専用」コンテナとして提供されていたと思います。

于 2013-09-13T13:59:28.667 に答える