2012-08-15 21 views

cevap

28

Aaron, senin kodun doğru olduğuna inanıyoruz ama şu kullandı:

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

@Autowire alanlar ve işleyecek ilk yönteme yöntemler (klasik özellikler değil). İkinci yöntem, post işlemeyi başlatır (@PostConstruct ve herhangi bir tanımlı BeanPostProcessor s). ApplicationContextAware arabirimini uygularsa, uygulama içeriği bir fasulye içinde elde edilebilir.

+0

Belki kodum yanlış. 'processInjection()', sadece kodunuzu '@ ​​PostConstruct' da (en azından JavaDoc’a göre) işlerken,' @ Autowired' alanlarını doldurur. : -/ –

+2

Eğer sınıf örneğin @ Transactional ile ek açıklama eklenmişse dinamik bir proxy oluşturuyor mu? – jeromerg