与BeanFactory通常以编程的方式被创建不同的是,ApplicationContext能以声明的方式创建,如使用ContextLoader。当然你也可以使用ApplicationContext的实现之一来以编程的方式创建ApplicationContext实例。首先,让我们先分析ContextLoader接口及其实现。
ContextLoader接口有两个实现:ContextLoaderListener和ContextLoaderServlet。两者都实现同样的功能,但不同的是,ContextLoaderListener不能在与Servlet 2.2兼容的web容器中使用。根据Servlet 2.4规范, servlet context listener要在web应用程序的servlet context建立后立即执行,并要能够响应第一个请求(在servlet context要关闭时也一样):这样一个servlet context listener是初始化Spring ApplicationContext的理想场所。虽然使用哪个完全取决于你,但是在同等条件下应该首选ContextLoaderListener;对于更多兼容性的信息,请查看ContextLoaderServlet的JavaDoc。
你可以象下面那样使用ContextLoaderListener来注册一个ApplicationContext:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/daoContext.xml /WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- or use the ContextLoaderServlet instead of the above listener
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
-->
监听器首先检查contextConfigLocation参数,如果它不存在,它将使用/WEB-INF/applicationContext.xml作为默认值。如果已存在,它将使用分隔符(逗号、冒号或空格)将字符串分解成应用上下文将位置路径。ContextLoaderServlet同ContextLoaderListener一样使用'contextConfigLocation'参数。
分享到:
相关推荐
在Spring框架中,ApplicationContext和BeanFactory是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入学习和使用Spring至关重要。 首先,BeanFactory是Spring中最基础的bean管理容器,它...
以下是对"Spring学习资料大全"的详细解析: 1. **Spring框架基础**: - **依赖注入(Dependency Injection,DI)**:Spring的核心特性之一,它允许开发者在运行时通过XML配置或注解方式来管理对象间的依赖关系,...
Spring3_day01这个压缩包文件可能包含了Spring框架的入门学习资料,可能涵盖了Spring的基础概念、bean的生命周期、依赖注入(DI)以及如何配置和使用BeanFactory和ApplicationContext等内容。通过学习这些资料,你...
Spring学习之路(黑马课程笔记) Spring学习之路是指通过学习Spring框架来掌握IOC反转控制的关键技术。IOC反转控制的关键在于获取bean的创建权。当service需要bean时,在自己的文件下创建setBean(Bean bean)函数,...
Spring学习指南是一份提供Spring框架学习资料的文档,由夏昕编写。Spring是一个开源的Java平台,它提供了全面的编程和配置模型。该框架的主要特点是为Java平台提供了一个轻量级的、全功能的开源应用框架,目的是使得...
在Spring框架中,`ApplicationContext` 是核心容器的重要组成部分,它负责管理Bean的生命周期以及提供Bean之间的依赖注入。`refresh()` 方法是 `ApplicationContext` 初始化和更新的关键步骤,它启动了一个复杂的...
通过分析和学习这个项目,你可以更深入地理解Spring框架的这些核心概念和功能。 总之,Spring的`applicationContext.xml`配置文件提供了强大的灵活性,使得开发者能够通过IoC容器管理和组装应用程序组件,并利用AOP...
"Spring学习之牛人总结"这份资料显然涵盖了Spring框架的核心概念和最佳实践,帮助开发者深入理解和掌握这个强大的工具。以下是根据标题和描述所提炼出的一些Spring框架的关键知识点: 1. **依赖注入(Dependency ...
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
4. **Spring MVC**:Spring的模块之一,用于构建Web应用程序,它提供了一个清晰的分层架构,使得MVC设计模式易于实现。 5. **Spring Boot**:一个基于Spring的项目,旨在简化新Spring应用的初始搭建以及开发过程,...
### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...
Spring框架是Java开发中最常用的轻量级开源框架之一,它以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)能力而著名。本篇将深入探讨Spring的核心概念、主要模块...
在本篇Spring学习笔记中,我们将深入探讨Spring的基本概念,包括bean的配置、依赖注入、IOC容器以及Bean的实例化方式。 首先,Spring中的核心概念是bean。Bean是Spring框架中的基本构建块,它们是被管理的对象,...
Spring 框架是企业级应用开发的重要工具,它的核心理念是通过控制反转(IOC,Inversion of Control)和依赖注入(DI,Dependency Injection)来降低组件间的耦合度,提高代码的可维护性和可扩展性。下面我们将深入...
在Spring 2.0的学习过程中,我们主要会接触到一系列的核心概念和关键特性,这些知识点对于理解和掌握Spring框架至关重要。下面将详细阐述其中的关键点。 1. **IoC(Inversion of Control,控制反转)**: Spring的...
上述提到的Spring学习路线涵盖了从基础到高级的多个方面,包括了IOC、AOP、JDBC模板的使用和事务管理等核心内容。掌握这些知识点对于高效开发高质量的Java后端应用至关重要。对于Java后台开发人员而言,深入学习和...
### Spring学习方法详解 #### 一、Spring框架概述 Spring框架是一个开源的、设计层面的框架,主要用于解决业务逻辑层与其他层之间的松耦合问题。它通过实现面向接口的编程思想,使得整个系统应用能够更好地组织和...
### Spring学习笔记(最新版) #### 一、Spring框架简介 Spring框架是一个广泛使用的轻量级企业级应用框架,它提供了全面的解决方案来构建复杂的Java应用程序。Spring的核心特性包括依赖注入(Dependency Injection,...
Spring框架作为Java领域中最为广泛使用的轻量级框架之一,深受开发者喜爱。Spring 3.3版本是其历史上的一个重要里程碑,它提供了丰富的功能和完善的服务,使得企业级应用开发变得更加便捷。本篇文章将围绕“Spring ...
Struts、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责不同...通过这个"Struts+Hibernate+Spring学习实例",开发者可以深入理解这三个框架如何共同构建一个完整的Web应用,提升在实际项目中的应用能力。