如何使用Spring手动自动装入bean?

问题描述:

我有一个bean B,我必须自己创建(使用new B()),并且其中有@Autowire和和@PostConstruct注释。如何使用Spring手动自动装入bean?

如何让Spring从我的bean A中处理这些注释?

相关问题:

阿龙,我相信,你的代码是正确的,但我用下面的:

B bean = new B(); 
AutowireCapableBeanFactory factory = applicationContext.getAutowireCapableBeanFactory(); 
factory.autowireBean(bean); 
factory.initializeBean(bean, "bean"); 

第一种方法将处理@Autowire领域,方法(但不是经典属性)。第二种方法将调用后处理(@PostConstruct和任何定义的BeanPostProcessor)。

应用程序上下文可以在bean中实现,如果它实现了接口。

+0

也许我的代码是错误的。 'processInjection()'只会填充@ @ Autowired'字段,而你的代码也应该处理'@ PostConstruct'(至少根据JavaDoc)。 : -/ – 2012-08-15 07:57:37

+2

它是否也创建了一个动态代理,如果该类已用'@Transactional'注释进行了注释,例如? – jeromerg 2016-11-12 14:02:10