Spring 中ApplicationContext使用 <02>
来源:互联网 发布:好玩的游戏 知乎 编辑:程序博客网 时间:2024/06/05 08:48
从下图可以很清晰的看出ApplicationContext 接口是BeanFactory 接口的子接口,处于Context 包下。
在ApplicationContext实例化后,同样通过getBean方法从ApplicationContext容器中获取装配好的Bean实例以供使用,ApplicationContext容器实例化后会自动对所有的单实例Bean进行实例化与依赖关系的装配。在<01>中有具体的体现,实例化ApplicationContext 容器后,直接执行Book无参构造器中的打印语句。
对于ApplicationContext,有主要三种加载配置文件的方式来进行实例化:
1.使用classPathXmlApplicationContext,从类路径classpath中寻找xml配置文件,找到并装载完成ApplicationContext的实例化工作:
ApplicationContext ctx=new ClassPathXmlApplicationContext("ApplicationContext.xml");
2.使用FileSystemXmlApplicationContext,从指定的文件系统路径下寻找指定的xml配置文件,找到并装载完成ApplicationContext的实例化工作:
ApplicationContext ctx=new FileSystemXmlApplicationContext("ApplicationContext.xml");
这种方式适用于采用Spring框架的独立应用程序。
3.使用WebApplicationContextUtils类的getRequiredWebApplicationContext方法可在JSP与Servlet中取得IoC容器的引用,从web应用(/WEB-INF/applicationContext.xml)中寻找指定的xml配置文件,找到并装载完成ApplicationContext的实例化工作,这是为Web工程量身定制的,
ServletContext servletContext = request.getSession().getServletContext();
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
在加载配置文件时,如果未找到返回null。
在上面三种方法中默认使用ClassPathXmlApplicationContext,Web项目的启动是由相应的Web服务器负责的,因此,在Web项目中ApplicationContext容器的实例化工作最好交给Web服务器来完成。
一般来说,对于ApplicationContext,一种通过org.springframework.web.context.ContextLoaderListener的listener的方法进行配置,一种通过org.springframework.web.context.ContextLoaderServlet的 servlet方法进行配置。其中,ContextLoaderListener所初始化的容器,我们称之为Root WebApplicationContext。在配置过程中,ApplicationContext实例,如果需要指定配置文件位置,可通过context-param加以指定。servlet容器启动时加载组件的顺序来看,Listener组件是优先于Servlet组件的。基于Servlet方式的加载方案主要是为了兼容Servlet2.3及以下规范的Servlet容器。因此,基于Listener方式启动Spring容器是目前的主流选择。
- Spring 中ApplicationContext使用 <02>
- spring中使用ApplicationContext
- spring中ApplicationContext的获取与使用
- spring中取出ApplicationContext
- spring中applicationContext
- spring ApplicationContext 使用总结
- spring applicationContext.xml 文件中<context:component-scan/>使用详解
- maven中使用spring提示applicationContext.xml找不到
- Spring中Bean的管理及ApplicationContext的使用
- Spring中ClassPathXmlApplicationContext和ApplicationContext 的简单使用
- Spring中ApplicationContext加载机制
- Spring中ApplicationContext加载机制
- Spring中ApplicationContext加载机制
- Spring中ApplicationContext加载机制
- Spring中ApplicationContext加载机制
- Spring中ApplicationContext加载机制
- Spring中操作applicationContext.xml
- spring中BeanFactory和ApplicationContext
- 苹果开发帐号说明
- PHP 引用 返回引用 静态变量的问题
- C#控制台 在控制台中通过输入给一个double类型变量赋值
- 在VC 6.0里Win32 Application和Win32 console Application的区别
- Android TransitionDrawable:过渡动画Drawable
- Spring 中ApplicationContext使用 <02>
- .net post url获取json
- JS获取IP、MAC和主机名的几种方法
- 关于 html append 为什么不是子级关系 $("#"+)
- Git:关于git diff 是和谁对比的问题
- Hadoop 参数小结
- 修改Android MTK 开关机动画 log
- QT使用插件QAxWidget
- 关于CTE的使用,以及TOP/ORDER BY的执行顺序