`
lp895876294
  • 浏览: 285378 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

SpringMVC容器和Spring容器冲突问题

    博客分类:
  • JAVA
 
阅读更多

       SpringMVC容器是Spring容器的一个子容器,它同样能够初始化实体类。由于SpringMVC容器的初始化是在Spring容器初始化之后,所以它会替换Spring中已经存在的类,这样可能会导致冲突。因此在Spring的配置文件中SpringMVC和Spring容器各司其职,在使用ComponentScan进行扫描时,各自扫描各自的实体类。如下配置:

spring容器扫描配置:

<context:component-scan base-package="com.projects.system">
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
	</context:component-scan>

SpringMVC容器扫描配置:

<context:component-scan base-package="com.projects.system">
    	<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
    	<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
    </context:component-scan>

以上配置在使用Spring xml-based配置时是没有问题的。如果在项目中引入java-base配置时,同时引入了@Configuration注解,@Configuration注解是在Spring容器初始化时进行实体类的初始化工作,因此在SpringMVC扫描配置中要将其过滤掉,否则会导致SpringMVC 的rest地址不可访问的问题。新的配置如下:

<context:component-scan base-package="com.projects.system">
    	<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
    	<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
    	<!-- 不扫描配置文件类,避免重复初始化 -->
    	<context:exclude-filter type="annotation" expression="org.springframework.context.annotation.Configuration"/>
    </context:component-scan>

 

分享到:
评论

相关推荐

    spring/springmvc/mybatis所需jar包

    在Java开发领域,Spring、SpringMVC和MyBatis是三个非常重要的框架,它们共同构建了一个强大而灵活的Web应用程序栈。Spring作为一个全面的后端开发框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,极大地...

    整合SpringMVC+Spring+Hibernate+druid框架

    在整合Spring时,我们不仅要配置Spring的核心容器,还要处理数据访问层和业务服务层的bean定义。通过Maven,我们可以方便地管理Spring框架及其依赖。 Hibernate是Java领域中最流行的ORM(对象关系映射)框架,它...

    springmvc + spring + mybatis + maven整合配置文件

    在IT行业中,构建一个高效、可维护的企业级Web应用程序常常会采用MVC(Model-View-Controller)架构模式,Spring MVC、Spring框架和MyBatis是这种架构中的关键组件。结合Maven作为项目构建工具,我们可以实现优雅的...

    Spring+springMVC+Mybatis+Maven项目

    【Spring+SpringMVC+Mybatis+Maven项目】是一个典型的Java Web开发...它涵盖了后端服务的实现、数据库交互、项目构建和问题调试等关键环节,对于学习和实践Java Web开发的初学者或开发者来说,都是一个很好的学习资源。

    spring + springmvc + mybatis整合

    在SSM整合中,Spring作为整个应用的容器,管理着其他组件(如SpringMVC和MyBatis)的生命周期和依赖关系。 **SpringMVC**:SpringMVC是Spring框架的一部分,专用于处理Web请求。它采用Model-View-Controller(MVC)...

    SSH(springmvc+spring4.1+hibernate4.0)jar包整合

    本项目针对旧版本SSH存在的问题,如Spring版本过低和Hibernate版本过低,以及可能的jar包冲突进行了更新和整合。 首先,Spring 4.1引入了许多改进和新特性。例如,它加强了对Java 8的支持,包括日期和时间API的改进...

    学习构建SSM框架(SpringMVC+Spring+Mybatis)需要的jar包

    - `log4j.jar`:日志记录工具,用于调试和问题定位。 - `slf4j-api.jar` 和 `slf4j-log4j12.jar`:简单日志门面,提供了日志接口的统一使用。 - `commons-logging.jar`:Apache的通用日志库,Mybatis等库可能依赖...

    spring、springMVC、hibernate、maven整合框架,下载即可编程使用

    SSH整合框架,全称为Spring、SpringMVC和...通过研究这个框架整合,开发者可以学习到如何配置Spring的IoC容器,定义SpringMVC的DispatcherServlet,以及如何设置Hibernate的实体类和配置文件,从而提升自己的技术水平。

    springMVC的jar包.rar

    - `spring-context.jar`:提供了上下文容器,支持DI和AOP。 - `spring-beans.jar`:处理bean的定义和管理。 - `spring-core.jar`:Spring的基础库,包含核心工具类。 - `spring-aop.jar`:支持AOP编程。 - `...

    Java EE框架 SpringMVC Spring Jpa相关包

    Spring的核心容器包括Bean工厂和ApplicationContext,负责管理应用对象的生命周期和依赖关系。此外,Spring还提供了事务管理、数据访问集成、Web支持等多种模块。 2. **Spring MVC**:作为Spring框架的一部分,...

    整合框架 springmvc + spring+ mybatis.zip_clothdm4_factor77x_springmv

    这个名为"整合框架 springmvc + spring+ mybatis.zip_clothdm4_factor77x_springmv"的压缩包包含了SSM框架的核心JAR包,旨在为开发者提供一个快速搭建和运行SSM应用的基础。 首先,Spring MVC是Spring框架的一部分...

    SpringMVC+Mybatis所需JAR包

    在实际项目中,开发者通常会使用Maven或Gradle等构建工具来管理这些依赖,避免手动添加JAR包带来的版本冲突问题。通过这些JAR包,我们可以实现SpringMVC负责的业务逻辑处理、视图渲染,以及Mybatis提供的数据库操作...

    Spring+SpringMVC+MyBatis+Maven+Jquery

    7. 使用Maven进行项目构建和依赖管理,包括添加第三方库、解决依赖冲突和生成可部署的WAR包。 8. 整合Spring与MyBatis,实现数据访问,包括配置MyBatis-Spring的SqlSessionFactoryBean和MapperScannerConfigurer,...

    Maven springMVC项目实例

    6. **Beans and Dependency Injection (DI)**:SpringMVC中的组件通常被定义为Spring容器的bean,通过DI进行依赖注入,降低了组件间的耦合。 7. **Annotations**:SpringMVC广泛使用注解,如`@Controller`, `@...

    简单springmvc用到的jar包

    IoC容器是Spring框架的基石,负责管理对象的生命周期和依赖关系。 2. **spring-beans.jar**: 包含了Spring对bean的定义、配置、初始化以及管理的所有类。BeanFactory是IoC容器的基本实现,而ApplicationContext是更...

    Spring SpringMVC Mybatis框架搭建所需jar包.zip

    在构建Java后端应用时,Spring、SpringMVC和Mybatis是常见的三大框架,它们各自负责不同的职责,共同协作以实现高效、灵活的业务逻辑处理。这个压缩包"Spring SpringMVC Mybatis框架搭建所需jar包.zip"包含了搭建这...

    SpringMVC所需jar包

    7. **servlet-api.jar**:Servlet API是开发Java Web应用的基础,包含了Servlet和Filter接口,SpringMVC需要它来与Servlet容器交互。 8. **jstl.jar**:JSTL(JavaServer Pages Standard Tag Library)用于在JSP...

    springMVC3.0.5常用的所有jar包.zip

    在本压缩包 "springMVC3.0.5常用的所有jar包.zip" 中,包含了一系列用于支持 Spring MVC 3.0.5 版本开发的 jar 包。这些 jar 包是构建基于 Spring MVC 的 Web 应用所必需的基础组件,涵盖了从核心容器到视图解析、...

    spring+springMVC+hibernate+easyUI编写的一个预约demo

    在IT行业中,Spring、SpringMVC、Hibernate和EasyUI是四个非常重要的技术组件,它们各自在Web应用开发中扮演着不同的角色。这个"spring+springMVC+hibernate+easyUI编写的一个预约demo"是一个典型的Java Web项目,...

Global site tag (gtag.js) - Google Analytics