spring获取webapplicationcontext,applicationcontext几种方法
来源:互联网 发布:淘宝买家资料出售 编辑:程序博客网 时间:2024/06/05 17:44
做了3年开发,都有用到spring, 简单对获取bean的总结。
1. 最简单的读取配置文件main方法加载
BeanFactory、ApplicationContext两个类加载:
1.1:BeanFactory加载
Resource resource =new FileSystemResource("beans.xml");BeanFactory factory =new XmlBeanFactory(resource);factory.getBean("beanId");
Resource 有多个实现类去加载不同的配置文件
1.2:ApplicationContext加载:
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");String[] strs={"beans1.xml","beans2.xml"}; /*多个配置文件, 也可以一个配置文件*/ ApplicationContext context =new ClassPathXmlApplicationContext(strs); context.getBean("beanId");
ApplicationContext的常用实现类为ClassPathXmlApplicationContext
2.web开发中需要从ServletContext加载,这一类通常先通过spring listener 加载好IOC容器,然后通过servletContext获取的bean
ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc); ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(ServletContext sc); ac1.getBean("beanId"); ac2.getBean("beanId");
ServletContext可以通过servlet.getServletContext()或者 this.getServletContext() 或者 request.getSession().getServletContext()获取,
当然也可以直接从ServletContext中直接获取到WebApplicationContext对象,具体方法为
WebApplicationContext webApplicationContext = (WebApplicationContext) servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
3.实现接口ApplicationContextAware
实现该接口的setApplicationContext (ApplicationContext context)方法,并保存ApplicationContext对象,同时需要在spring.xml中配置这个对象bean
public class MyApplicationContextUtil implements ApplicationContextAware { private static ApplicationContext context;//声明一个静态变量保存 public void setApplicationContext(ApplicationContext contex) throws BeansException { this.context=contex; }}//spring.xml<bean class="org.ing.springutil.MyApplicationContextUtil"></bean>
4.另外没有用过的两种方式
4.1:继承自抽象类ApplicationObjectSupport
4.2:继承自抽象类WebApplicationObjectSupport
- Spring获取webapplicationcontext,applicationcontext几种方法
- spring获取webapplicationcontext,applicationcontext几种方法
- spring获取webapplicationcontext,applicationcontext几种方法
- 【spring框架】spring获取webapplicationcontext,applicationcontext几种方法详解
- Spring获取WebApplicationContext与ApplicationContext的几种方法分析
- spring获取webapplicationcontext,applicationcontext几种方法详解
- Spring获取WebApplicationContext与ApplicationContext的几种方法分析
- spring获取webapplicationcontext,applicationcontext几种方法详解
- spring获取webapplicationcontext,applicationcontext几种方法详解
- spring获取webapplicationcontext,applicationcontext几种方法详解
- spring获取webapplicationcontext,applicationcontext几种方法详解
- spring获取webapplicationcontext,applicationcontext几种方法详解
- spring获取webapplicationcontext,applicationcontext几种方法详解
- spring获取webapplicationcontext,applicationcontext几种方法详解
- spring获取webapplicationcontext,applicationcontext几种方法详解
- spring获取WebApplicationContext,applicationContext几种方法详解
- Spring获取webapplicationcontext,applicationcontext几种方法详解
- spring获取webapplicationcontext,applicationcontext几种方法详解
- Hadoop 0.21.0 安装配置体会
- MVVM模式---Command与CommandParameter的使用
- 陪你走到底
- 中科大研发的FTP搜索工具~
- 动态创建的元素要想样式生效,必须先有一个原生的元素?
- spring获取webapplicationcontext,applicationcontext几种方法
- svn lock 提交 出错 删掉锁 即可
- TCP快速重传与快速恢复原理分析
- 傅里叶变换的物理意义
- IEC61850变电站通信网络和系统--5功能的通信要求和装置模型_1概述
- andoid动画分析
- Android Bitmap 全面解析(二)加载多张图片的缓存处理 ...
- MYSQL GROUP BY 和 HAVING 子句
- 检验文件路径是否存在,若不存在则创建