我有一个要求,我必须在一个类的循环中获取很少的有状态bean,这是我的处理器。这个处理器bean本身是一个单独的bean。现在问题是在一个地方,我能够从应用程序上下文成功获取bean,但在其他情况下,我得到一个代理对象。我正在使用注释来定义bean的范围并使用组件扫描。
案例1 - Interface1
A类实现Interface1
applicationContext.getBean("",的A.class);这会成功返回类A的对象.class A是原型bean
案例2 - 接口2 B类实现Interface2(B类是原型bean) applicationContext.getBean(" B",B.class); 这会引发运行时异常,抱怨类型不匹配 如果我做B b =(B)applicationContext.getBean(" b",); 这给出了类型转换异常 如果我做 applicationContext.getBean(" B&#34); 然后它返回代理对象。 我无法理解这种行为。
任何建议或帮助都会很棒......
答案 0 :(得分:0)
我发现如果在应用程序中有原型bean的各个方面,那么默认的应用程序上下文将返回代理对象并且类型转换不可能,