2012-08-15 75 views

回答

28

阿龍,我相信,你的代碼是正確的,但我用下面的:

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

相關問題