`

寻找spring框架的启动入口 ContextLoaderListener

阅读更多

springweb下的入口在配置文件web.xml的监听器中

<listener>

        <listener-class>

           org.springframework.web.context.ContextLoaderListener

        </listener-class>

</listener>

<context-param>

     <param-name>contextConfigLocation</param-name>

      <param-value>classpath:conf/spring/applicationContext.xml</param-value>

</context-param>

上述是在web.xml中的配置信息。

 

 

//实现了接口ServletContextListener,也就是说他必须实现contextDestroyed, contextInitialized这两个方法

public class ContextLoaderListener implements ServletContextListener {

       private ContextLoader contextLoader;

       /**

       * Initialize the root web application context.

       */

//Spring框架由此启动, contextInitialized也就是监听器类的main入口函数

       public void contextInitialized(ServletContextEvent event) {

              this.contextLoader = createContextLoader();

              this.contextLoader.initWebApplicationContext(event.getServletContext());

       }

       /**

       * Create the ContextLoader to use. Can be overridden in subclasses.

       * @return the new ContextLoader

       */                                            

       protected ContextLoader createContextLoader() {

              return new ContextLoader();

       }

       /**

       * Return the ContextLoader used by this listener.

       * @return the current ContextLoader

       */

       public ContextLoader getContextLoader() {

              return this.contextLoader;

       }

       /**

       * Close the root web application context.

       */

       public void contextDestroyed(ServletContextEvent event) {

              if (this.contextLoader != null) {

                     this.contextLoader.closeWebApplicationContext(event.getServletContext());

              }

       }

}

 

总的来说这个入口非常简单,所有实现都隐藏在ContextLoader类里,我们在下一篇的内容中讨论ContextLoader,如果你不知道为什么这里是程序的入口,那么复习一下ServletContextListener 接口和监听器的相关知识吧

分享到:
评论

相关推荐

    spring springmvc mybatis框架整合需要的jar包

    最后,应用的启动入口通常是一个Servlet或Filter,例如Spring的ContextLoaderListener或DelegatingFilterProxy,它们负责初始化Spring容器,并在Web应用启动时加载配置。 总结起来,整合Spring、SpringMVC和MyBatis...

    Web项目中使用Spring, 使用 Spring 的器监听器 ContextLoaderListener.docx

    在Web项目中集成Spring框架,主要是为了实现依赖注入和管理,简化业务逻辑层与表现层的交互。以下是一个详细步骤的介绍: 1. **新建一个Maven项目**: 创建基于Maven的Web项目,通常使用`maven-archetype-webapp` ...

    DispatcherServlet 和 ContextLoaderListener 区别

    在Java Web开发中,DispatcherServlet和ContextLoaderListener都是Spring框架中的关键组件,它们各自承担着不同的职责,共同构建了一个高效、灵活的Web应用程序。这里我们将深入探讨这两个组件的区别及其工作原理。 ...

    Spring框架初始化解析

    二、 Spring框架的启动加载及实现方式有四种: 1. 通过注解@PostConstruct 和 @PreDestroy 方法实现初始化和销毁Bean之前进行的操作。 2. 通过在xml中定义init-method 和 destory-method方法。 3. 通过Bean实现...

    Spring MVC 框架搭建及详解

    Spring MVC 是Spring框架的重要组成部分,用于构建交互式的Web应用。 **一、环境搭建** 1. **引入依赖**: 要使用Spring MVC,首先需要添加相应的jar包。如描述中所示,Spring 2.5.6版本需要包括spring.jar、spring-...

    结合Spring框架的 CXF WebService编程实例

    Spring框架作为企业级应用开发的强大工具,提供了与多种技术集成的能力,其中包括与Apache CXF框架的整合,使得创建和消费WebService变得更为简便。下面我们将详细探讨如何结合Spring框架使用CXF来开发WebService。\...

    Spring mvc整合mybatis例子

    Spring MVC是Spring框架的一部分,它提供了处理HTTP请求、分发到控制器、处理结果和视图展示的能力。通过DispatcherServlet作为入口,它协调各种组件如控制器(Controller)、视图解析器(View Resolver)、模型-...

    spring、springmvc、mybatis相结合的ssm框架整合实战及项目文件和原理解析

    1. **Spring框架**:Spring是核心,提供了依赖注入(DI)和面向切面编程(AOP)功能。在项目中,通常会有一个`applicationContext.xml`配置文件,定义Bean的实例化和装配规则。例如,定义数据库连接池、数据源、事务...

    spring jpetstore2.5

    4. **配置Web.xml**:这是Spring应用的入口点,需要正确配置Spring的DispatcherServlet、ContextLoaderListener等组件,以及相应的bean定义文件路径。 5. **配置数据库连接**:根据实际环境修改JPetStore的数据库...

    spring第三天.pdf

    在本课程中,我们将深入探讨Spring框架的核心特性,包括IoC容器、AOP(面向切面编程)以及动态代理的设计模式。课程的目标是使学员能够独立阅读并理解Spring框架内部的关键源码,以便更好地掌握其工作原理。 首先,...

    spring-framework-2.5.6.rar

    7. **工具支持**:Spring还提供了一些工具类,如ContextLoaderListener,用于启动Spring上下文,以及ApplicationContext,这是访问IoC容器的入口。 在Spring Framework 2.5.6版本中,引入了一些重要的特性: - **...

    struts2+spring2.5+ibatis2.3框架整合开发.doc

    在`web.xml`中,配置了`ContextLoaderListener`监听器,用于启动Spring容器并加载配置文件`applicationContext.xml`。这里的`contextConfigLocation`参数指定了配置文件的位置。通过Spring,我们可以管理所有服务层...

    Spring+Struts+ibatis讲解

    Spring框架的核心配置文件,如`DefaultContext.xml`,用于定义Bean的声明、依赖注入以及事务管理等。例如,这里可能会配置Service和DAO的Bean,以及相关的数据源、事务管理器等。 四、Ibatis配置: 1. `ibatis-...

    精品专题(2021-2022年收藏)spring项目中监听器作用.doc

    本文将深入探讨Spring框架中的监听器,特别是`ContextLoaderListener`的作用及其配置。 `ContextLoaderListener`是Spring框架提供的一个核心监听器,主要用于初始化和销毁Spring的WebApplicationContext。它是...

    Spring+MVC 实例学习

    它与Spring框架紧密结合,提供了模型-视图-控制器(MVC)架构模式的实现,使得开发者能够将业务逻辑、数据处理和用户界面分离,提高代码的可重用性和可测试性。 在"Spring+MVC 实例学习"中,我们将深入探讨如何利用...

    Struts1.3+Spring3.0+Hibernate3.3+DWR2.X框架集成文档v1.4

    为了实现Struts与Spring框架的集成,在`web.xml`文件中需要进行以下配置: - **Struts配置**: - 配置`ActionServlet`以定义Struts的入口点。 - 设置`config`参数指向`struts-config.xml`文件路径。 - 设置`load...

    SpringMvc+Spring+MyBatis+Maven整合视频源码+数据库

    Spring MVC 是Spring框架的一部分,它作为控制器,负责处理HTTP请求,提供了一种模型-视图-控制器(MVC)的架构模式。`index.jsp`和`showUser.jsp`是JSP(JavaServer Pages)文件,代表了视图层。`index.jsp`通常...

    使用MyEclipse6开发Struts+Spring应用程序Samples Project

    在本文中,我们将深入探讨如何使用MyEclipse6这一强大的集成开发环境来开发基于Struts和Spring框架的应用程序。这两个框架在Java企业级应用开发中占据着重要地位,Struts提供了MVC(Model-View-Controller)架构,而...

    搭建struts2+spring+spring的开发环境

    4. **配置Web应用**:在`web.xml`中配置Spring的`ContextLoaderListener`和Struts2的`FilterDispatcher`,以启动Spring容器并设置Struts2的入口。 ```xml &lt;param-name&gt;contextConfigLocation &lt;param-value&gt;/WEB...

    maven + spring mvc整合示例代码下载.zip

    Spring MVC是Spring框架的一部分,用于构建基于模型-视图-控制器(MVC)架构的Web应用程序。Maven则是一个项目管理和综合工具,它可以帮助开发者自动化构建过程,管理项目依赖,并提供统一的构建系统。 【标签】: ...

Global site tag (gtag.js) - Google Analytics