0

注入具有作用域prototype的bean@Autowired通常不会按预期工作。但是在写代码的时候,很容易不小心注入原型。

有没有办法获取所有@Autowired字段和方法的列表并将其与 Spring AppContext 匹配以检查这一点?

4

1 回答 1

1

一种方法可能是覆盖org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor(负责处理@Autowired、@Inject、@Resource 等)并执行您在此覆盖的 bean 后处理器中提到的检查。但是,AutowiredAnnotationBeanPostProcessor 注册了很多常见的自定义命名空间(context:component-scancontext:annotation-config),因此这些自定义注释必须替换为相应的bean变体,并且覆盖的后处理器也注册为 bean。

于 2012-09-07T12:49:10.570 回答