如何手动将豆子与Spring自动连接?
我有一个豆子,我必须自己创建(使用),它有和注释。B
new B()
@Autowire
@PostConstruct
我如何使Spring从我的豆子中处理这些注释?A
相关问题:
我有一个豆子,我必须自己创建(使用),它有和注释。B
new B()
@Autowire
@PostConstruct
我如何使Spring从我的豆子中处理这些注释?A
相关问题:
Aaron,我相信你的代码是正确的,但我使用了以下内容:
B bean = new B();
AutowireCapableBeanFactory factory = applicationContext.getAutowireCapableBeanFactory();
factory.autowireBean( bean );
factory.initializeBean( bean, "bean" );
第一种方法将处理字段和方法(但不是经典属性)。第二种方法将调用后处理(以及任何定义的 s)。@Autowire
@PostConstruct
BeanPostProcessor
如果 Bean 实现接口,则可以在 Bean 中获取应用程序上下文。ApplicationContextAware
另一种选择是让 spring 容器自动创建新 Bean(而不是使用 new 关键字自行创建新实例)。在需要以编程方式实例化新 been 的类中,注入 AutowireCapableBeanFactory 的实例:
@Autowired
private AutowireCapableBeanFactory beanFactory;
然后:
B yourBean = beanFactory.createBean(B.class);
容器将像往常一样注入带有@Autowired注释的实例。