手动从spring BeanFactory 获取bean (二)
自己的类 实现org.springframework.beans.factory.BeanFactoryAware 接口
BeanFactoryAware 接口中只有一个方法 setBeanFactory(BeanFactory beanFactory)
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
public class SpringBeanFactory implements BeanFactoryAware {
	private static BeanFactory beanFactory;
	
	public static Object getBean(String beanName) {
		 return beanFactory.getBean(beanName);
	}
	
	public static <T> T getBean(String beanName, Class<T> clazs) {
		 return clazs.cast(getBean(beanName));
	}
	
	public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
		SpringBeanFactory.beanFactory = beanFactory;
	}
}
applicationContext.xml
<bean id="springBeanFactory" class="com.xx.service.util.SpringBeanFactory" />
遗留一个问题
spring 容器什么时候 会调用BeanFactoryAware 实现类 也就是说调用SpringBeanFactory setBeanFactory方法 ?
    Andy_能力越到责任越大
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号