Spring中ApplicationContextAware接口使用理解


一、接口介绍
当一个类实现了这个接口(ApplicationContextAware)之后,这个类就可以方便获得ApplicationContext中的所有bean。换句话说,就是这个类可以直接获取spring配置文件中,所有引用到的bean对象。

二、接口使用

1.编写工具类

 1 import org.springframework.beans.BeansException;
 2 import org.springframework.context.ApplicationContext;
 3 import org.springframework.context.ApplicationContextAware;
 4 /**
 5  * Created by zl on 2018/7/7.
 6  */
 7 public class BeanFactoryUtil implements ApplicationContextAware {
 8     protected static ApplicationContext ctx = null;
 9  
10     @Override
11     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
12         ctx = applicationContext;
13     }
14  
15     public static Object getBean(String beanId) {
16         return ctx.getBean(beanId);
17     }
18 }

2.在applicationContext.xml中注册BeanFactoryUtil工具类

<bean id="beanFactoryUtil" class="com.boss.utils.BeanFactoryUtil"/>

3.测试

@Test
public void test() {
  new ClassPathXmlApplicationContext("applicationContext.xml");// 加载applicationContext.xml(模拟启动web服务)
  UserDao userDaoImpl = (UserDao) BeanFactoryUtil.getBean("userDaoImpl");
  userDaoImpl.sayHello();
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM