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容器有父子关系,相当于全局变量和局部变量的关系!!
spring和springmvc之间的整合的更多相关文章
- spring、springmvc、mybatis整合笔记
这段时间上一个项目刚做完,下一个项目还没开始,趁这个时候来认真总结一下上个项目使用的ssm开发框架.由于,项目中关于使用ssm这部分的代码和配置是我们项目的整体架构师一个独立完成的,我们只负责业务部分 ...
- SSM框架整合的详细过程(含每一步的分析及代码)。实质上是SpringMVC与mybatis的整合,应为spring与SpringMVC不需要整合。
为了更好的学习 springmvc和mybatis整合开发的方法,需要将springmvc和mybatis进行整合. 整合目标:控制层采用springmvc.持久层使用mybatis实现. 1.1 需 ...
- Spring、SpringMVC注解方式整合
1 原理 Web容器在启动的时候,会扫描每个jar包下的META-INF/services/javax.servlet.ServletContainerInitializer文件. 加载META-IN ...
- Spring、SpringMVC、MyBatis整合
项目结构: 新建web项目:File->new->Dynamic Web Project 一.准备所需jar包1. Spring框架的jar包 spring-framework-5.0.4 ...
- spring、springmvc和mybatis整合(xml方式)
今天搭建一个基于xml的ssm整合demo.话不多说,直接上代码. 我的开发环境如下: web服务器:tomcat8 开发工具:STS JDK版本:1.8 项目构建工具:maven 1.pom.xml ...
- spring、springmvc和mybatis整合(java config方式)
之前项目中使用ssm框架大多是基于xml的方式,spring3.0以后就提供java config的模式来构建项目,并且也推荐使用这种方式,自从接触过springboot后,深深感受到这种纯java配 ...
- Spring、SpringMvc、MyBatis 整合
web.xml SSMProject示例项目下载 SSMProject_jar包 <?xml version="1.0" encoding="UTF-8& ...
- Spring、SpringMVC、Hibernate整合 ----超详细教程
一.数据库表 /* Navicat MySQL Data Transfer Source Server : 本地连接 Source Server Version : 50720 Source Host ...
- spring,springmvc,mybatis整合ssm框架出现ORA-02289:序列不存在问题
今天整合了一个SSM项目,完了后部署到Tomcat服务器,正常启动.但是当我发送请求时,报错,,如下 报错说序列不存在,可是我明明创建了序列呀,然后我测试了一下,测试语句:select tb_user ...
随机推荐
- HTTP缓存ETAG和Last-Modified
1) 什么是"Last-Modified"? 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记此文 ...
- Oracle无法启动,ORA-01034、ORA-01078
因为调整32位系统的SGA区大小时不慎,超出可用内存,造成Oracle实例无法启动,报出ORA-01034.ORA-01078等错误.如下图 sqlplus /nolog SQL> conn / ...
- Why doesn't Genymotion run on Windows 10?
To date, VirtualBox is not yet fully compatible with Windows 10. As Genymotion relies on the use of ...
- Tortoisesvn单个文件夹checkout
- 常见的java 错误--转
Java常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明 ...
- CSS命名规则
头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:le ...
- 【转】调试Release发布版程序的Crash错误
http://www.cppblog.com/Walker/archive/2012/11/08/146153.html http://blog.sina.com.cn/s/blog_48f93b53 ...
- Django数据库操作
刚学到Django的数据库操作,把它记录下来,方便以后查看: 在Django中定义数据库表,并使用Django提供的方法来对数据库进行操作(增.删.改.查) 1.定义3个数据库表: class Gro ...
- HDU 3480 division
题目大意:一个有n个数的集合,现在要求将他分成m+1个子集,对子集i设si表示该集合中最大数与最小数的差的平方.求所有si的和的最小值.n<=10000,m<=5000. 分析:最优解的m ...
- TextBox仿Foxmail收件人删除效果
场景: 发邮件,添加收件人后,删除时直接删除整个收件人. 添加事件: 文本框实现,需要添加以下4个事件: txtQsdw_TextChanged txtQsdw_MouseDown txtQsdw_M ...