Web容器初始化时获取bean的几种方法
2016-02-23 09:39
302 查看
在开发javaWeb系统时,有时需要在系统初始化时进行一些附带的初始化操作,此时我们需要通过Spring获取相应的bean对象,然后进行相应的初始化操作。现在总结如下几种在系统初始化时获取bean对象的方法
一、通过获取WebApplicationContext直接得到bean
二、通过获取ApplicationContext得到bean
实现ApplicationContextAware 接口来获取ApplicationContext
我采用的注解方式实现的spring注册,也可以直接在xml文件中注册。此处涉及到setApplicationContext,有依赖注入,所以必须要有bean的注册。
ContextLoader的讲解参照/article/11144512.html
servletContext和WebApplicationContext的相互获取
public static WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
public static ServletContext servletContext = webApplicationContext.getServletContext();
ServletContext servletContext = event.getServletContext();
public WebApplicationContext web = WebApplicationContextUtils.getWebApplicationContext(servletContext);
一、通过获取WebApplicationContext直接得到bean
public class Applicationar { public static WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext(); public static Object getBean (String beanName) { Object bean; bean =webApplicationContext.getBean(beanName); return bean; } }
二、通过获取ApplicationContext得到bean
实现ApplicationContextAware 接口来获取ApplicationContext
@Service public class SpringBean implements ApplicationContextAware { public static ApplicationContext applicationContext ; public static Object getBean (String beanName) { return applicationContext.getBean(beanName); } //此处需要依赖注入 @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SpringBean.applicationContext =applicationContext; } }
我采用的注解方式实现的spring注册,也可以直接在xml文件中注册。此处涉及到setApplicationContext,有依赖注入,所以必须要有bean的注册。
ContextLoader的讲解参照/article/11144512.html
servletContext和WebApplicationContext的相互获取
public static WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
public static ServletContext servletContext = webApplicationContext.getServletContext();
ServletContext servletContext = event.getServletContext();
public WebApplicationContext web = WebApplicationContextUtils.getWebApplicationContext(servletContext);
相关文章推荐
- 常用代码备份--字符串处理
- 读取本地数据库文件
- iOS9下有关CoreLocation学习二
- JIRA 6.3.6在Linux下的安装部署
- 共享MFC DLL的规则DLL 、带静态链接MFC的规则DLL和MFC扩展DLL区别
- VS2013试用期结束后如何激活
- 【转】java中三个类别加载器的关系以及各自加载的类的范围
- 字符集
- ORACLE DG之参数详解
- android真机测试No minsdk(API 16)>device sdk(api 1)
- (Android)代码覆盖率统计
- Jetty 的工作原理以及与 Tomcat 的比较
- Arrays
- JAVA_面向对象_练习_封装_01_EncapsulationDaemon01.java
- 双击手势屏蔽单击手势
- typedef用法
- JAVA_面向对象_练习_封装_01_EncapsulationDaemon01.java
- 性能测试(四):性能测试如何写报告
- 《Linux字符集时间介绍及解决中文乱码实战》
- alibaba-dexposed 原理解析