code: 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();
  			}
  		}
  	}
docs: BeanDefinitionRegistryPostProcessor's method
  
  second run: check which spring bean that need injected from Jdon.