spring和springmvc之间的整合

一、springmvc就是运行在spring的环境下,这两者是否需要进行整合,即:是不是要把service 、dao 、 事务 、和其它框架的整合放在springmvc的配置文件中。这样子在技术层面上是可以实现的,但是这样显得的不清晰。

二、整合:

1、在web.xml中配置contextLoaderListener,并且加入spring的配置文件applicationContext.xml

这样可以把service dao、事务、缓存、以及和其它框架的整合放到spring的配置文件里面

三、问题

当两个配置文件中扫描的包有重合的时候某些bean会被初始化2次

解决:在扫描包的子节点下配置 exclude-filter 和 include-filter

在springmvc的配置中:

<!-- 配置包扫描 -->
    <context:component-scan base-package="com.hy.springmvc" use-default-filters="false">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        <context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
    </context:component-scan>

在spring的配置文件中:

<context:component-scan base-package="com.hy.springmvc" use-default-filters="false">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
    </context:component-scan>

注意:

在springmvc的handler中可以引用spring的bean 如service dao,反之则不行,因为spring ioc容器和springmvc ioc容器有父子关系,相当于全局变量和局部变量的关系!!

时间: 2024-10-30 09:10:22

spring和springmvc之间的整合的相关文章

spring、springmvc、mybatis整合笔记

这段时间上一个项目刚做完,下一个项目还没开始,趁这个时候来认真总结一下上个项目使用的ssm开发框架.由于,项目中关于使用ssm这部分的代码和配置是我们项目的整体架构师一个独立完成的,我们只负责业务部分的代码,调用他写好的后台,所以涉及到ssm具体使用的我都没参与,之前简单的做过s(struts)sh,对于ssm不是很熟悉,所以,这段时间从头到尾独立搭建一个ssm框架的web应用. 首先,spring.springmvc.mybatis所需要的jar包准备好,导入到新建web项目的lib中,然后开

Spring、SpringMVC、Hibernate整合

1.整合Spring.SpringMVC 2.整合Spring.Hernate 3.配置web.xml文件 4.配置Tomcat,并且配置为热部署 5.在此不过多介绍Spring.SpringMVC整合 6.Spring与Hibernate整合关键代码如下 <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <pr

spring、springmvc和mybatis整合(java config方式)

之前项目中使用ssm框架大多是基于xml的方式,spring3.0以后就提供java config的模式来构建项目,并且也推荐使用这种方式,自从接触过springboot后,深深感受到这种纯java配置的便利,但是springboot默认为我们引入好多jar和配置,使得项目变得很重,因此决定自己动手搭建一个无xml的ssm项目. 开发环境 我的开发环境如下: web服务器:tomcat8 开发工具:STS JDK版本:1.8 项目构建工具:maven 搭建过程 1.首先引入相关依赖 pom文件如

Spring、SpringMvc、MyBatis 整合

web.xml   SSMProject示例项目下载    SSMProject_jar包 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat

spring,springmvc,mybatis整合ssm框架出现ORA-02289:序列不存在问题

今天整合了一个SSM项目,完了后部署到Tomcat服务器,正常启动.但是当我发送请求时,报错,,如下 报错说序列不存在,可是我明明创建了序列呀,然后我测试了一下,测试语句:select tb_user_seq.nextval from dual 测试完没问题,这就奇怪了,于是乎,开始使用惯用的检查手段,百度,然后百度的方法都试完了,都没能解决. 不扯犊子了,说解决方法: 对于这类问题,第一,你要保证你的mapper配置文件和实体类保持一一映射.第二,确认你确实有这个序列 这两项没问题后,经过九九

springMVC+freemarker+slf4j整合(基于注解方式)

springmvc在项目中使用较多,本文将基于spring注解springMVC+freemarker+slf4j整合在一起,便于开发,后续还会将ibatis整合进来. 第一步:使用编程工具建立web工程,本文使用eclipse + tomcat 7.0 + jdk 1.7. 第二步:引入工程使用到的jar文件: commons-logging-1.1.3.jar.freemarker-2.3.20.jar.logback-classic-1.0.9.jar.logback-core-1.0.9

spring和springMVC整合注解版helloworld

整合的之前需要从官网上下载spring完整的jar包,我下载的是spring-framework-3.2.2.RELEASE.整合步骤如下: 1.在eclipse中新建一个web项目,将下载的spring的jar包拷入lib目录下,但是spring启动的时候依赖一个commons-logging-1.1.jar的jar包,你需要额外的下载. 2.编写web.xml,配置spring的分发器和spring配置文件的位置.具体内容如下: <servlet> <servlet-name>

简单易学的SSM(Spring+SpringMVC+MyBatis)整合

SSM(Spring+SpringMVC+MyBatis)的整合: 具体执行过程:  1.用户在页面向后台发送一个请求 2.请求由DispatcherServlet 前端控制器拦截交给SpringMVC管理,SpringMVC讲这个请求传递给Controller层处理. 同时请求由Listener监听到交付给Spring,Spring建立IOC容器. 3.Controller层中会调用相应的Service层的方法处理业务逻辑.此时Service从上一步中建立好的IOC容器获取对象,然后获取 到M

spring,springmvc,mybatis基本整合(一)--xml文件配置方式(2)

spring,springmvc,mybatis基本整合(一)–xml文件配置方式(2)之mapper接口 一,整合结构 二,所需jar包 如上图. 三,整合配置 1,web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://j