Aaron, wierzę, że kod jest prawidłowy, ale stosuje się następującą:
B bean = new B();
AutowireCapableBeanFactory factory = applicationContext.getAutowireCapableBeanFactory();
factory.autowireBean(bean);
factory.initializeBean(bean, "bean");
pierwsza metoda będzie przetwarzać @Autowire
pól i metody (ale nie właściwości klasyczne). Druga metoda wywoła przetwarzanie końcowe (@PostConstruct
i dowolne zdefiniowane BeanPostProcessor
s).
Kontekst aplikacji można uzyskać w komponencie bean, jeśli implementuje interfejs ApplicationContextAware
.
Może mój kod jest błędny. 'processInjection()' wypełni tylko pola '@ Autowired', podczas gdy twój kod powinien również przetwarzać' @ PostConstruct' (przynajmniej zgodnie z JavaDoc). : -/ –
Czy tworzy on również dynamiczny serwer proxy, jeśli ta klasa została przypisana na przykład adnotacją '@ Transactional'? – jeromerg