ApplicationContext 是 BeanFactory 接口的子接口,它增强了 BeanFactory 的功能,处于 context 包下。很多时候, ApplicationContext 允许以声明式方式操作容器,无须手动创建。可利用如 ContextLoader 的支持类,在 Web 应用启动时自动创建 ApplicationContext。当然,也可以采用编程方式创建 ApplicationContext。
context 的基础是 ApplicationContext 接口,它继承 BeanFactory 接口,并提供BeanFactory 所有的功能。为了以一种更加面向框架的方式工作, context 包使用分层和有继承关系的上下文类,包括以下几种:
1. MessageSource,提供国际化支持。
2. 资源访问,比如 URL 和文件。
3. 事件传递。
4. 载入多个配置文件。
ApplicationContext包括BeanFactory的全部功能,因此建议优先使用ApplicationContext。除非对于某些内存非常关键的应用,才考虑使用 BeanFactory。
spring为ApplicationContext提供的3种实现分别 为:
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
XmlWebApplicationContext
其中XmlWebApplicationContext是专为Web工程定制的。使用举例如下
1. FileSystemXmlApplicationContext
eg1. ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml"); //加载单个配置文件
eg2. String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
ApplicationContext ctx = new FileSystemXmlApplicationContext(locations );
//加载单个配置文件
eg3. ApplicationContext ctx =new FileSystemXmlApplicationContext("D:/project/bean.xml");
//根据具体路径加载文件
2. ClassPathXmlApplicationContext
eg1. ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
eg2. String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
ApplicationContext ctx = new ClassPathXmlApplication(locations);
注:其中FileSystemXmlApplicationContext和ClassPathXmlApplicationContext与BeanFactory的xml文件定位方式一样是基于路径的。
3. XmlWebApplicationContext
eg1. ServletContext servletContext = request.getSession().getServletContext();
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
分享到:
相关推荐
ApplicationContext及它的3种实现
NULL 博文链接:https://canfly2010.iteye.com/blog/443063
3.ApplicationContext的顶层接口是BeanFactory 4.BeanFactory定义了bean相关的最基本操作 5.ApplicationContext在BeanFactory基础上追加了若干新功能 对比BeanFactory 1.BeanFactory创建的bean采用延迟加载...
3、引入实体类及配置文件book.java和book.hbm.xml 13 实体类Book.java 13 配置文件book.hbm.xml 14 在applicationContext.xml中配置映射文件 14 编写JSP,Action类,Service接口类,Service实现类,DAO接口类,DAO...
3、设计Dao层接口,实现Dao接口,并将接口实现类,交由applicationContext.xml(spring的默认配置文件)进行管理和注册。 4、设计Service层接口,实现Service接口,并将接口实现类,交由applicationContext.xml进行...
3. 总体实现步骤 3.1.创建dao接口 3.2.创建dao接口实现类,主要是通过Hibernate实现数据访问 3.3.创建Service接口,编写业务功能方法 3.4.创建Service接口实现类,实现Service接口中的业务功能方法 3.5.创建action,...
演示功能包括: ...使用Struts2的JSON插件完成与Ajax的交互 实现校验用户名功能 压缩包中包括sql文件 修改reg_login\WEB-INF路径下的applicationContext.xml文件,将其中的数据库密码修改为你的数据库密码
Struts2.0_Hibernate3_spring2.0 部署Web应用请按如下步骤进行: 1. 进入reg_login路径下,将mysql.sql脚本中的语句导入MySQL数据库。 2. 修改reg_login\WEB-INF路径下的applicationContext.xml文件,将其中的...
本例主要是实现了struts2+spring3+hibernate3的 基本框架搭建的注册登录,以及用户增删改查,适于初学者学习。 包括:注册 登录功能 分页的实现 前端校验 验证码的实现 注册时有ajax 校验,登录时 后台从数据库...
spring+cxf 整合管理webService,并采用c3p0实现数据库连接;代码简单,适合新手参考。项目导入eclipse后,要想跑通,需更改applicationContext-*.xml和base.properties文件的配置以及几个代码文件。
1.此redis实现方法将redis配置...2.applicationContext.xml为使用redis项目添加的初始化配置 3.redis.properties为使用redis项目配置redis配置文件 4.好处为每个项目根据自己需求配置redis服务以及配置,实现方法为一套
在Spring1.2或之前的版本中,实现AOP的传统方式就是通过实现Spring的AOP API来定义Advice,并设置代理对象。Spring根据Adivce加入到业务流程的时机的不同,提供了四种不同的Advice:Before Advice、After Advice、...
(3)如果Bean实现了BeanNameAware接口,则Spring调用Bean的setBeanName()方法传入当前Bean的id值。 (4)如果Bean实现了BeanFactoryAware接口,则Spring调用setBeanFactory()方法传入当前工厂实例的引用。 (5)...
3、提供了大量的控制器接口和实现类,这样开发人员可以使用Spring提供的控制器实现类,也可以自己实现控制器接口。 4、SpringMVC是真正的View层实现无关的,它不会强制开发员使用JSP,我们可以使用其他View技术,比如...
依赖注入的三种实现形式 12 BeanFactory 14 BeanFactory管理Bean(组件)的生命周期 15 Bean的定义 16 Bean的之前初始化 19 Bean的准备就绪(Ready)状态 21 Bean的销毁 21 ApplicationContext 21 Spring的AOP框架 ...
3.编写applicationContext.xml配置文件 4.测试:启动Spring,获取Hello示例。 二、Spring基于XML装配实验 说明:使用Spring IOC模拟实现账户添加功能程序 1.创建JavaBean类:Account.java 2.创建DAO类: AccountDao....
3、import用于导入其他配置文件的Bean定义,这是为了加载多个配置文件,当然也可以把这些配置文件构造为一个数组(new String[] {“config1.xml”, config2.xml})传给ApplicationContext实现进行加载多个配置文件,...
(3)销售管理模块:实现了药品销售、销售结算功能。 (4)采购管理模块:实现了药品入库、药品采购结算、药品退货报损。 (5)库存管理模块:实现了库存盘点、库存报警、药品有效期管理、制定药品采购计划。 (6)...