我有下一个输入:
- 接下来配置的 PicoContainer 实例:
MutablePicoContainer pico = new PicoBuilder()
.withLifecycle()
.withCaching()
.withConstructorInjection()
.withSetterInjection()
.withHiddenImplementations()
.build();
重要的是它使用了隐藏的实现。
- 比方说,类的结构:
interface A {
}
interface B {
}
public class AB implements A, B {
public AB(/*dependencies on other components that exist in container*/) {
}
}
- 问题:
我想在前面描述的那些接口下的上下文中注册相同的类实例,如下所示:
pico.addComponent(A.class, AB.class);
pico.addComponent(B.class, pico.getComponent(A.class)); // cuses ClassCastException since proxy wrapper is used
主要思想是使用现有上下文初始化类实例并且只执行一次(如果在这种情况下可能的话)。
请帮忙。