`

spring ContextLoaderListener 和 DispatcherServlet 的加载问题

阅读更多

http://www.iteye.com/problems/98179

 

在spring mvc中@Controller注解的bean必须由DispatcherServlet初始化的children webApplicationContext来管理,在DispatcherServlet初始化的context中会扫描当前容器所有的bean实例,根据类级别以及方法级别的映射信息注解组装成对应的HandleMappering信息,但是ContextLoaderListener是不具备这个功能的,所以你的A bean实例有问题。 
另外,最好使用DispatcherServlet去扫描@Controller注解的bean,而servie bean使用COntextLoaderListener scan(web层controlller配置文件最好独立于其他业务bean配置文件)

 

 

你可以这么理解,由DispatcherServlet加载相当于在ContextLoaderListener加载的基础上增加了controller的处理,所以DispatcherServlet加载的controller和bean都好用,ContextLoaderListener加载的bean好用而controller不好用. 

分享到:
评论

相关推荐

    DispatcherServlet 和 ContextLoaderListener 区别

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

    web.xml中ContextLoaderListener的运行过程解析

    它是Servlet容器(如Tomcat)启动时会读取的配置文件,用于指导容器如何加载和管理Web应用。 ### 2. `ContextLoaderListener`简介 `ContextLoaderListener`是Spring框架提供的一个监听器类,实现了`javax.servlet....

    spring mvc 在 intellij 的 helloworld 基本配置

    ContextLoaderListener负责加载Spring配置文件,初始化Spring容器;DispatcherServlet负责请求分发。 - 配置DispatcherServlet:DispatcherServlet是Spring MVC的核心,需要在web.xml中指定Servlet名称和类路径,并...

    Spring mvc + Spring + Spring jdbc 整合 demo.rar

    - `web.xml`:配置Spring MVC的DispatcherServlet和ContextLoaderListener。 - `applicationContext.xml`:定义Spring容器的Bean,包括数据源、事务管理器、Service和DAO。 - `pom.xml`:Maven项目配置文件,包含...

    Spring-5.1.5源码

    4. **Spring MVC**:`ContextLoaderListener`初始化的ApplicationContext与Spring MVC的DispatcherServlet所使用的ApplicationContext不同。前者是全局的父上下文,而后者是用于处理HTTP请求的子上下文。两者之间...

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

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

    spring MVC配置详解

    在 web.xml 文件中配置 ContextLoaderListener 和 contextConfigLocation,以便加载 Spring 的配置文件。 ```xml <!-- Spring 配置 --> org.springframework.web.context.ContextLoaderListener ...

    Spring+JMS+ActiveMQ+Tomcat jar下载

    Tomcat与Spring框架配合良好,可以通过Spring的ContextLoaderListener或DispatcherServlet来加载Spring配置,实现应用的初始化和管理。 在"Spring+JMS+ActiveMQ+Tomcat"的组合中,Spring作为核心框架负责应用的结构...

    spring mvc

    这是Spring MVC应用程序的入口点,用于配置Spring的ContextLoaderListener和DispatcherServlet。 1. `<context-param>` 和 `<listener>` 部分: - `<context-param>` 用于定义应用程序上下文的初始化参数,这里...

    spring 与 servlet整合

    2. **Spring的Servlet监听器**:如ContextLoaderListener,用于初始化Spring的ApplicationContext,加载配置文件并管理bean。 3. **HandlerMapping**:负责将请求映射到相应的处理器,Spring MVC提供了多种映射策略...

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

    - 接着,DispatcherServlet加载`servlet-context.xml`,启动SpringMVC的配置。 - 当接收到HTTP请求时,DispatcherServlet解析请求,根据`@RequestMapping`找到对应的Controller方法。 - Controller方法调用...

    WEB项目-集成Flex3+BlazeDS3.2+Spring2.5.6集成方式二

    \n\n**步骤2:配置Web.xml**\n\n在Web应用的配置文件Web.xml中,我们需要添加Spring的`ContextLoaderListener`监听器,这样Spring容器会在应用启动时自动加载。同时,指定`contextConfigLocation`参数,指出Spring的...

    12Spring以及框架相关面试问题汇总1

    在Servlet容器中,`ContextLoaderListener`首先加载,初始化Spring应用上下文。然后Filter按照配置的顺序开始过滤HTTP请求。 9. Redis使用场景和数据格式: Redis不仅可以用于缓存,还可用作消息队列、计数器、...

    apache wink集成spring 开发rest服务

    8. **部署**:完成开发后,可以通过Spring的ContextLoaderListener加载应用上下文,并将Wink的Servlet配置到应用服务器中,如Tomcat或Jetty。这样,REST服务就可以通过HTTP请求被外部调用了。 通过上述知识点,我们...

    Spring和WEB的整合.zip

    同时,我们还需要配置Spring的上下文加载器监听器(ContextLoaderListener),用于初始化Spring的应用上下文,将bean定义加载到内存中。 接下来,我们需要创建Spring的配置文件,如`applicationContext.xml`,在这个...

    struts2和spring和hibernate整合所需包集合.rar

    2. **配置Spring**:同样在web.xml中配置Spring的DispatcherServlet,以及ContextLoaderListener,用于加载Spring应用上下文。 3. **配置Hibernate**:在Spring的配置文件(如applicationContext.xml)中配置...

    spring MVC所需jar包和filter的配置

    - 对于Spring MVC的初始化,通常还需要一个`ContextLoaderListener`来加载Spring的ApplicationContext,以及一个`DispatcherServlet`来处理请求。 - 在`DispatcherServlet`配置中,可以指定Spring MVC的配置文件,...

    java应用程序实现jetty 集成jersey 和spring

    4. 容器初始化:在Jetty启动时加载Spring应用上下文,这可以通过自定义的`ContextLoaderListener`实现。 在实际开发中,"resources"目录可能包含如XML配置文件、静态资源等,而"lib"目录则存放了项目依赖的第三方库...

    使用maven简单搭建Spring mvc + redis缓存

    在`web.xml`中,我们需要定义Spring MVC的DispatcherServlet,并设置对应的ContextLoaderListener,以便加载Spring的配置文件: ```xml <param-name>contextConfigLocation <param-value>/WEB-INF/spring/...

Global site tag (gtag.js) - Google Analytics