天行健,君子以自强不息

夫夷以近、则游者众、险以远、则至者少

手动从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方法 ?

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/java2000_wl/article/details/7377992
个人分类: Java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭