public void postProcessBeanDefinitionRegistry ( BeanDefinitionRegistry registry ) throws BeansException { for ( String beanName : registry . getBeanDefinitionNames ( ) ) { BeanDefinition beanDefinition = registry . getBeanDefinition ( beanName ) ; String beanClassName = beanDefinition . getBeanClassName ( ) ; try { Class beanClass = Class . forName ( beanClassName ) ; // large project need using Google Collection's lookup for ( final Field field : ClassUtil . getAllDecaredFields ( beanClass ) ) { if ( field . isAnnotationPresent ( Autowired . class ) ) { // inject jdon components into spring components with // AutoWire; Object o = findBeanClassInJdon ( field . getType ( ) ) ; if ( o != null ) { neededJdonComponents . put ( field . getName ( ) , o ) ; } } } } catch ( ClassNotFoundException ex ) { ex . printStackTrace ( ) ; } } }
BeanDefinitionRegistryPostProcessor s method