0

我有下一个输入:

  1. 接下来配置的 PicoContainer 实例:
MutablePicoContainer pico = new PicoBuilder()
                .withLifecycle()
                .withCaching()
                .withConstructorInjection()
                .withSetterInjection()
                .withHiddenImplementations()
                .build();

重要的是它使用了隐藏的实现。

  1. 比方说,类的结构:
    interface A {

    }

    interface B {

    }

    public class AB implements A, B {
        public AB(/*dependencies on other components that exist in container*/) {

        }
    }
  1. 问题:

我想在前面描述的那些接口下的上下文中注册相同的类实例,如下所示:

pico.addComponent(A.class, AB.class);
pico.addComponent(B.class, pico.getComponent(A.class)); // cuses ClassCastException since proxy wrapper is used

主要思想是使用现有上下文初始化类实例并且只执行一次(如果在这种情况下可能的话)。

请帮忙。

4

0 回答 0