`

Spring的applicationContext和spring-mvc.xml的区别

 
阅读更多

applicationcontext.xml一般里面是配置dataSource以及相关的IOC容器中存放的相关bean。而spring-mvc.xml一般配置一些与web相关的东西。两个东西没什么关联。

 

在配置<context:component-scan>的时候,最好分开配置。在spring-mvc中一般只扫描controller层,配置为

 

<context:component-scan base-package="com.pro.**.controller" use-default-filters="false">
   <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>

 在其他spring配置中扫描其他的包,注意不要包含controller。

 

另外,不要配置了<context:annotation-config>又配置<context:component-scan>。<context:component-scan>在实现的时候包含了<context:annotation-config>。在实际编程过程中,只需要在xml配置文件中配置<context:annotation-config>就可以了。

 

 

applicationContext是mvc context的父容器,mvc context可以引用applicationContext的bean,而applicationContext无法引用到mvc的bean,如果你这样配,有些东西如果applicationContext需要,它就找不到了,所以还不如全放到applicationContext中。

 

spring查找bean,会现在当前context中查找,如果没有满足的,再到父容器查找, 

 

applicationContext是在web.xml中配置的ContentLoader监听器启动的,当xml启动时加载,并按照一个约定的key放在java的ServletContext中,然后mvc 的servlet初始化时,先从ServletContext中按照约定的key取出来,以它为父容器,去创建mvc的容器。 

 

再说,两个不同的spring context,是不会有冲突的,是可以存在相同的bean定义的,只不过优先查找当前context,不存在才往上找。

 

分享到:
评论
1 楼 lgh1992314 2018-09-29  
applicationContext.xml 是 spring-mvc.xml的爹

相关推荐

    spring-mvc-4.2.xsd.zip

    在实际开发中,`spring-mvc-4.2.xsd`通常被引用在Spring配置文件(如`applicationContext.xml`或`servlet-context.xml`)的顶部,通过`xsi:schemaLocation`属性来指定: ```xml &lt;beans xmlns="http://www.spring...

    spring-framework-5.0.2.RELEASE-dist.zip

    在核心容器方面,Spring Beans和ApplicationContext仍然是核心组件。它们负责管理对象的生命周期和依赖注入,使得开发者可以轻松地创建和配置Bean。5.0版本增强了配置元数据支持,包括XML、Java注解以及基于Java的...

    spring-mvc-study.zip

    在本项目"spring-mvc-study.zip"中,我们可以深入理解并实践Spring MVC的核心概念和技术。 首先,Spring MVC是Spring框架的一个模块,主要用于处理HTTP请求和响应。它的主要组件包括DispatcherServlet、Controller...

    官方原版源码spring-framework-5.2.3.RELEASE.zip

    这些定义文件规定了我们在Spring XML配置文件中可以使用的元素和属性,帮助我们编写符合规范的配置。通过查看这些XSD,我们可以更清晰地理解Spring配置的底层结构。 在源码分析过程中,有几个关键的类和接口值得...

    官方原版完整包 spring-framework-5.0.19.RELEASE.zip

    5.0.19.RELEASE版本中的Bean工厂和ApplicationContext接口,使得开发者能够轻松管理对象的生命周期和依赖关系,从而实现松耦合和高内聚的设计原则。 2. **AOP(面向切面编程)**:Spring的AOP支持允许开发者定义...

    applicationContext.xml等文件.rar

    这四个文件的组合使用,可以快速搭建起一个基于Spring框架的Java Web应用,其中`applicationContext.xml`和`spring-mvc.xml`负责整体架构和业务逻辑的控制,`db.properties`提供数据库连接,`log4j.properties`则...

    官方原版源码spring-framework-5.1.6.RELEASE.zip

    而`spring-framework-5.1.6.RELEASE-schema.zip`则包含了Spring配置文件的XML Schema定义,帮助我们理解和验证配置的正确性。 7. **模块化设计**:Spring Framework采用模块化设计,每个模块都有明确的职责,这在...

    Spring4Spring-MVc.rar_mvc4_spring4_spring4 mvc_www.mvn3

    3. 配置项目中的Spring和MyBatis相关配置文件,如`applicationContext.xml`和`mybatis-config.xml`。 4. 编写业务模型、DAO接口和Mapper XML文件,实现数据库操作。 5. 创建Controller类,定义处理HTTP请求的方法,...

    org.springframework.web.struts-sources-3.0.4.RELEASE.jar

    在Java Web开发领域,Spring框架以其强大的依赖注入和面向切面编程能力,而Struts则以其优秀的MVC架构模式,共同构建了众多企业级应用的基础。当这两者结合时,可以形成一个强大且灵活的开发环境。本文将详细解析`...

    SSH\\others\\struts2-spring-plugin-2.2.1.jar

    在Spring的`applicationContext.xml`文件中,我们需要定义Action类的bean,这样它们就可以被Struts2识别并使用: ```xml &lt;bean id="yourAction" class="com.yourcompany.yourproject.actions.YourAction"&gt; ``` ...

    spring-framework-4.3.6.RELEASE.rar

    1. Beans:Spring的核心是依赖注入(Dependency Injection,DI),它允许通过XML配置或注解来管理对象的生命周期和依赖关系。4.3.6版本对DI进行了优化,提升了容器启动速度和内存使用效率。 2. Core:提供了基础的...

    官方原版源码 spring-5.2.6.RELEASE.zip

    Spring Web模块提供了与Web开发相关的功能,包括Spring MVC和Spring WebFlux。Spring MVC是传统的基于Servlet的Web框架,而WebFlux则是反应式编程模型,适用于高并发场景,5.2.6版本在两者之间提供了更好的互操作性...

    spring最新版本4.3.3所有jar包

    3. **spring-context.jar**:扩展了spring-core和spring-beans,引入了 ApplicationContext,它是Spring的上下文容器,可以管理Bean并提供国际化、事件传播、AOP等功能。 4. **spring-aop.jar**:实现了面向切面...

    SpringDemo-master.zip

    在`src/main/resources`下,我们会找到Spring的配置文件,如`applicationContext.xml`,它定义了Spring容器的bean,包括数据源、SqlSessionFactory、Mapper接口的扫描路径等。这里,Spring会管理MyBatis的...

    spring-framework-3.2.4.RELEASE-dist.jar包

    本文将围绕"spring-framework-3.2.4.RELEASE-dist.jar"包展开,深入解析Spring 3.2.4版本的核心特性和关键知识点,帮助开发者更好地理解和使用这一版本。 一、Spring概述 Spring最初由Rod Johnson创建,旨在简化...

    spring MVC配置详解

    在使用 Spring MVC 之前,需要引入相应的 jar 包,包括 Spring 2.5.6 和 Hibernate 3.2.0。Spring 2.5.6 需要引入的 jar 包有 spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jar 等。...

    spring-framework-3.0.5.RELEASE 资源包,包含文档包和依赖包

    1. **核心容器**:这是Spring框架的基础,包括BeanFactory和ApplicationContext。BeanFactory是Spring的核心,负责管理应用对象的生命周期和依赖注入。ApplicationContext则提供了更高级的功能,如国际化、事件传播...

    官方原版源码spring-framework-5.1.3.RELEASE.zip

    `spring-framework-5.1.3.RELEASE-schema.zip`则包含了Spring配置的XML Schema定义,帮助开发者更好地理解和编写Spring配置文件。 深入学习Spring Framework 5.1.3.RELEASE的源码,不仅可以提升对Java后端开发的...

    spring-framework-5.2.3.RELEASE.rar

    3. **配置Spring**:创建Spring的配置文件(如`applicationContext.xml`),定义bean及其依赖关系。 4. **编写代码**:利用Spring的API编写业务逻辑,利用DI和AOP特性来增强代码的可维护性和可测试性。 5. **运行...

    Spring MVC step-by-step 源码

    - `src/main/resources`:存放配置文件,如Spring的XML配置文件,可能包括`dispatcher-servlet.xml`(Spring MVC的配置)和`applicationContext.xml`(Spring容器的配置)。 - `WebContent`:MyEclipse的Web项目...

Global site tag (gtag.js) - Google Analytics