Spring 从应用程序上下文获取原型bean的问题

Spring 从应用程序上下文获取原型bean的问题,spring,Spring,我有一个需求,在这个需求中,我必须在作为我的处理器的类的循环中获取一些有状态的bean。现在的问题是,在一个地方,我能够成功地从应用程序上下文中获取bean,但在另一个地方,我获得了一个代理对象。我使用注释来定义bean的范围,并使用组件扫描 案例1-接口1 A类实现接口1 getBean(“a”,a.class);这将成功返回类A的对象。类A是原型bean 案例2-接口2 类B实现Interface2(类B是原型bean) getBean(“b”,b.class); 这会引发运行时异常,抱怨类

我有一个需求,在这个需求中,我必须在作为我的处理器的类的循环中获取一些有状态的bean。现在的问题是,在一个地方,我能够成功地从应用程序上下文中获取bean,但在另一个地方,我获得了一个代理对象。我使用注释来定义bean的范围,并使用组件扫描

案例1-接口1

A类实现接口1

getBean(“a”,a.class);这将成功返回类A的对象。类A是原型bean

案例2-接口2 类B实现Interface2(类B是原型bean) getBean(“b”,b.class); 这会引发运行时异常,抱怨类型不匹配 如果我执行B=(B)applicationContext.getBean(“B”); 这将导致类型强制转换异常 如果我这样做 applicationContext.getBean(“b”); 然后返回代理对象。 我无法理解这种行为


任何建议或帮助都会很好。…

我发现,如果在应用程序中,原型bean有一些方面,那么默认情况下,应用程序上下文将返回代理对象,类型转换将不可能,

请添加代码。另外,您是否使用任何框架来代理您的bean?例如AspectJ?是的,Thomas。bean周围有一个方面,因此应用程序上下文提供代理对象而不是bean。