SSM基础框架搭建(SpringMVC+Spring+Mybatis)
SpringMVC+Spring+Hibernate框架整合原理,作用及使用方法

SpringMVC+Spring+Hibernate框架整合原理,作⽤及使⽤⽅法SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层使⽤spring MVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久化引擎原理:SpringMVC:1.客户端发送请求到DispacherServlet(分发器)2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller3.Controller调⽤业务逻辑处理后,返回ModelAndView4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图5.视图负责将结果显⽰到客户端Spring:我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们中的类,当然也包括service dao⾥⾯的),有了这个机制,我们就不⽤在每次使⽤这个类的时候为它初始化,很少看到关键字new。
另外spring的aop,事务管理等等都是我们经常⽤到的。
Mybatis:mybatis是对jdbc的封装,它让数据库底层操作变的透明。
mybatis的操作都是围绕⼀个sqlSessionFactory实例展开的。
mybatis通过配置⽂件关联到各实体类的Mapper⽂件,Mapper⽂件中配置了每个类对数据库所需进⾏的sql语句映射。
在每次与数据库交互时,通过sqlSessionFactory拿到⼀个sqlSession,再执⾏sql命令。
使⽤⽅法:要完成⼀个功能:1. 先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。
2. 写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进⾏的那些操作,⽐如 insert、selectAll、selectByKey、delete、update等。
基于SSM框架的B2C网上商城系统的设计与实现

基于SSM框架的B2C网上商城系统的设计与实现一、引言随着互联网的快速进步,电子商务成为了现代商业领域中不行或缺的一部分。
B2C(Business-to-Customer)网上商城系统在这一背景下应运而生,为消费者提供了便捷、高效、安全的在线购物体验。
本文将介绍一种基于SSM(Spring+SpringMVC+MyBatis)框架的B2C网上商城系统的设计与实现,旨在通过探讨系统架构、功能模块、数据库设计以及系统实现等方面的内容,为开发者提供参考和指导。
二、系统架构设计1. 总体架构基于SSM框架的B2C网上商城系统接受三层架构,包括表示层(Presentation Layer)、业务层(Business Logic Layer)和数据访问层(Data Access Layer)。
表示层负责与用户进行交互,接收用户的请求,并将结果展示给用户。
接受SpringMVC框架实现,通过Controller来接受用户请求,调用业务层进行相应处理,最终返回结果给前端页面。
业务层负责处理业务逻辑,包括商品管理、订单管理、用户管理等功能模块。
接受Spring框架实现,通过业务层接口和实现类来完成详尽的业务逻辑,同时调用数据访问层来实现对数据库的操作。
数据访问层负责与数据库进行交互,包括数据库毗连、数据操作等操作。
接受MyBatis框架实现,通过Mapper映射文件将SQL语句与Java代码进行映射,实现数据库操作。
2. 功能模块划分基于SSM框架的B2C网上商城系统主要包括以下功能模块:用户模块、商品模块、购物车模块、订单模块和支付模块。
用户模块:实现用户的注册、登录、个人信息管理等功能,包括用户注册、用户登录、密码找回、个人信息查看与修改等。
商品模块:实现商品的分类、查找、浏览、采购等功能,包括商品分类管理、商品列表展示、商品查找、商品详情展示等。
购物车模块:实现用户对商品的保藏、添加、删除、结算等功能,包括购物车添加、购物车删除、购物车结算等。
ssm总结

ssm总结SSM总结在现代社会中,随着信息技术的不断发展,软件系统的应用范围越来越广泛,由此衍生出的软件开发框架也层出不穷。
SSM(Spring + SpringMVC + MyBatis)作为一种主流的JavaWeb开发框架,以其高效的性能和灵活的配置而备受开发者青睐。
本文将对SSM框架进行总结,深入探讨其核心组件、特点以及项目实践。
一、SSM框架的介绍SSM框架是由Spring、SpringMVC和MyBatis三个独立的框架整合而成的。
Spring是一个轻量级的Java开发框架,通过依赖注入和面向切面编程提供了强大的基础设施支持。
SpringMVC是一个基于MVC设计模式的Web框架,通过处理器映射、拦截器等机制实现了灵活的URL 请求处理。
MyBatis是一个持久层框架,通过SQL映射配置文件和对象关系映射(ORM)技术实现了Java对象与数据库表之间的转换。
SSM框架的核心目标是提高开发效率、降低维护成本和提升系统性能。
通过Spring的依赖注入和面向切面编程,我们可以实现代码的解耦和复用,提高代码的可维护性。
SpringMVC的强大拦截器和处理器映射能力使我们可以灵活地处理URL请求和生成用户友好的页面。
MyBatis通过灵活的SQL映射配置文件和ORM技术,使数据库操作变得简单高效,提高系统性能。
二、SSM框架的特点1. 灵活性:SSM框架提供了各种灵活的配置选项,可以根据项目需求对框架进行定制化配置。
开发者可以根据实际情况选择使用Spring的Bean注入、IOC容器,SpringMVC的拦截器、处理器映射,以及MyBatis的动态SQL、缓存等功能。
2. 易学易用:SSM框架的学习曲线相对较低,尤其对于有JavaWeb开发基础的开发者来说。
框架提供了丰富的文档和示例代码,并且社区活跃,问题能够及时得到解决。
3. 高效性:SSM框架通过各种优化手段提高了系统的性能。
Spring通过IOC和AOP减少了代码的冗余和耦合,提高了系统的可维护性;SpringMVC通过拦截器和处理器映射机制提高了URL请求的处理效率;MyBatis通过缓存和ORM技术减少了数据库查询的次数,提高了系统的响应速度。
ssm面试题及答案

ssm面试题及答案SSM(Spring + Spring MVC + MyBatis)是一种流行的Java开发框架,广泛应用于企业级应用程序的开发中。
在SSM开发中,技术面试是非常重要的环节,通过面试可以评估面试者对SSM框架的理解和能力。
本文将提供一些常见的SSM面试题及答案,帮助读者为SSM面试做好准备。
1. 什么是SSM框架?SSM框架是一种基于Spring、Spring MVC和MyBatis的Java Web开发框架。
Spring是一个轻量级的IoC(控制反转)和AOP(面向切面编程)容器,Spring MVC是基于Spring的MVC(模型-视图-控制器)框架,MyBatis是一个优秀的持久层框架,它可以与Spring无缝集成。
2. SSM框架的优点有哪些?SSM框架具有以下优点:- 灵活性:SSM框架采用模块化的设计,使得开发者可以按需选择使用各个模块,灵活性高。
- 易于学习和使用:SSM框架的学习曲线相对较低,上手快,文档和教程丰富。
- 安全性:SSM框架提供了一些安全性措施,如表单验证、身份认证等。
- 卓越的性能:SSM框架通过MyBatis提供高性能、高度优化的数据库访问方式。
3. Spring框架的优点是什么?Spring框架具有以下优点:- IoC容器:Spring框架通过IoC容器管理对象之间的依赖关系,降低了代码的耦合性,提高了代码的可维护性和可测试性。
- AOP支持:Spring框架提供了对面向切面编程的支持,使得开发者可以将一些通用的功能(如日志记录、事务管理)从业务逻辑中解耦出来,提高了代码的重用性。
- 事务管理:Spring框架提供了对事务的支持,通过声明式事务管理简化了事务操作的编码工作。
4. Spring MVC框架的优点是什么?Spring MVC框架具有以下优点:- 简单易用:Spring MVC框架提供了简单易用的编程模型,使得开发者可以快速开发Web应用程序。
Java EE轻量级框架应用实战:SSM框架(Spring

第4章 MyBatis框架的关联映射
4.1关联映射 4.2一对一(association) 4.3一对多(collection) 4.4多对多(collection) 4.5 resultMap自动映射级别
框架的数据库 开发及事务管 理
3 第10章
MyBatis与 Spring的框架 整合
4 第11章初识
Spring MVC 框架
5
第12章数据交 互与绑定
第13章文件上传和下 载与拦截器机制
第14章深入使用 Spring MVC框架
第15章 SSM框架整 合与项目案例
附录A贯穿案例:百 货中心供应链管理系 统
目录分析
1
内容简介
2
第1章初识 MyBatis框架
3 第2章
MyBatis框架 的核心配置
4
第3章动态SQL
5 第4章
MyBatis框架 的关联映射
第6章初识Spring 框架
第5章深入使用 MyBatis框架
第7章 Spring框架 中的Bean
1
第8章 Spring AOP
第9章 Spring 2
本书详细讲解Java EE中使用最多的Spring、Spring MVC和MyBatis(简称SSM)三大框架的基本知识和应 用。随着互联的迅猛发展,SSM框架被越来越多地应用于企业级开发之中,其发展势头已经超过大部分Java Web 框架,稳居榜首。本书以实用性为原则,采用课堂实录的形式,以任务为驱动,理论与实践相结合,重点讲解 SSM框架在企业开发中常用的核心技术,分别讲解MyBatis、Spring和Spring MVC三大框架的精髓内容。在内容 上逐层深入,而非一次铺开。"百货中心供应链管理系统”案例贯穿始终,利用各章所学技能对其功能进行实现或 优化,让读者在学习技能的同时获取项目开发经验,加深读者对技术的理解和掌握程度。本书提供完善的免费配 套资源和支持服务,包括电子教案(PPT)、案例素材、源代码、各章上机练习与课后作业参考答案、教学设计、 教学大纲等,希望带给读者全方位的学习体验,可登录电子工业出版社华信资源()下载使用。本书既可作为高 等院校本、专科计算机相关专业的程序设计教材,也可作为Java技术的培训图书,适合广大编程爱好者阅读与使 用。
Java EE企业级应用开发(SSM) (11)

14
14
案例步骤详解
1. 导入案例所需要的坐标
Spring框架坐标
Spring JDBC坐标
mysql数据库驱动坐 标
MyBatis框架坐 标
MyBatis整合Spring坐标
单元测试坐标
15
案例步骤详解
1. 导入案例所需要的坐标
SpringMVC框架坐 标
jackson坐标
16
案例步骤详解
2. 创建User实体类
23
23
案例步骤详解
9. 编写SpringMVC核心配置文件spring-mvc.xml
24
24
案例步骤详解
10. 打开浏览器,进行测试
直接通过浏览器访问该路径 后台响应回来的json格式的数据
【作业4】使用三大框架25整合实现账2户5 的CRUD
接下来,咱们一起来看一看,通过一个案例,来学会Spring + MyBatis框架的 整合。
3
案例实现步骤
【课程案例】1101:MyBatis和Spring整合
实现步骤: 1. 导入案例所需要的坐标 2. 创建User实体类 3. 创建UserMapper接口 4. 创建UserService接口和UserServiceImpl实现类 5. 编写映射文件UserMapper.xml 6. 编写Spring核心配置文件applicationContext.xml 7. 编写测试类UserController,进行测试
SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)

SSI框架搭建SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6编号:SSI-SMVC3-S3-I3版本:V1.0级别:公开编写时间:2016-02-17目录1 导言 (1)1.1 目的 (1)1.2 范围 (1)1.3 说明 (1)2 搭建SpringMVC (2)2.1 搭建所需jar包 (2)2.2 其他依赖包 (3)2.3 搭建步骤 (4)2.3.1 创建项目 (4)2.3.2 导入jar包 (6)2.3.3 配置web.xml (7)2.3.4 配置spring-servlet.xml (9)2.3.5 配置applicationContext.xml (10)2.3.6 配置log4j.properties (10)3 整合mybatis (11)3.1 整合所需jar包 (11)3.2 其他依赖包 (11)3.3 整合步骤 (11)3.3.1 导入jar包 (11)3.3.2 配置config.properties (12)3.3.3 配置spring-dataSource.xml (12)3.3.4 配置applicationContext.xml (15)3.3.5 配置mybatis-config.xml (16)3.3.6 创建实体model (17)3.3.7 创建实例化dao (19)3.3.8 创建业务服务service (21)3.3.9 创建控制层controller (23)3.3.10 页面代码 (28)3.3.11 启动项目 (37)1导言1.1 目的本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。
1.2 范围本次框架搭建的版本是SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6,数据库采用的是mysql,在eclipse开发工具下搭建直接搭建的web项目,页面采用的是h5,ajax实现数据访问,如果页面为jsp等,则修改controller的返回类型即可。
ssm框架流程

ssm框架流程SSM框架(Spring+SpringMVC+MyBatis)是目前非常流行的Java Web开发框架,它结合了Spring框架、SpringMVC框架和MyBatis框架的优势,使得开发者可以更加高效地进行Web应用开发。
SSM框架的流程分为前端请求处理、后端分发处理和数据库操作三个步骤。
第一步是前端请求处理,当用户在浏览器中输入URL或者点击页面的链接时,请求会发送到服务器端。
SpringMVC框架的核心是DispatcherServlet,它是前端控制器,负责接收所有请求,并进行第一步的处理。
DispatcherServlet会根据请求的URL找到对应的处理器(Controller),并将请求数据封装成一个包含请求信息的对象。
Controller中的处理方法会处理该请求,并将处理结果封装成一个Model对象,并返回视图名。
第二步是后端分发处理,DispatcherServlet会将Model对象传递给ViewResolver(视图解析器),ViewResolver根据视图名找到对应的视图模板(JSP、HTML等),并将Model对象中的数据填充到视图模板中。
最终,服务器会将填充好数据的视图返回给用户的浏览器。
第三步是数据库操作,MyBatis框架是SSM框架中负责数据库操作的核心组件。
在Controller中,可以通过@Autowired注解注入MyBatis的Mapper接口,并调用接口中定义的方法来实现对数据库的操作。
Mapper接口中定义了增删改查等操作数据库的方法,而对应的SQL语句则是在MyBatis的XML文件中配置的。
MyBatis会读取XML文件,并根据接口方法的名称和参数类型来执行对应的SQL语句,最终将结果返回给Controller。
在整个流程中,Spring框架扮演了框架的骨架角色,它负责依赖注入、事务管理等底层功能。
SpringMVC框架实现了前端请求处理和后端分发处理的功能,它通过DispatcherServlet来接收和分发请求,并将处理结果返回给浏览器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SSM基础框架搭建(SpringMVC+Spring+Mybatis)SSM框架简述到现在用了SSM框架也有一段时间了,对于基础的使用已经基本习惯,这段时间也多多少少搭了很多遍基础框架,当然每一次的搭建都会比原先搭建的东西更多些,也会更加完善,我相信大家也会从搭建的过程中成长去学到很多东西,SSM框架网上也有很多教程,不过我相信每个编写以及阅读的人总会从相似的文章中学到不同的东西.SSM框架基础概念Spring这里不得不说Spring非常强大,Spring拥有这IOC(控制反转,依赖注入)和AOP(面向切面编程)这两个强大的功能,这两个功能使框架足够的解耦,通过工厂模式和bean的配置完成对象的注入并且由bean生成的对象是单例的SpringMVCSpringMVC分离了控制器,验证器,Servlet分发器,模型对象等MybatisMybatis解除了程序与代码的耦合度,在一定程度上简化了sql的管理,只需要在XML中进行相应SQL的编写即可,Mybatis提供了相应的映射,配置起来更加容易SSM基础框架搭建这里就直接介绍SSM框架如何搭建了,至于环境配置和MAVEN项目的创建可以参考我的博客,也可以参考环境搭建,MAVEN项目搭建,下面开始搭建的教程,可能是对于上文链接博客的整合的完善与一些细微错误的纠正吧。
引入相关的JRA包<properties><!-- spring版本号--><spring.version>4.0.2.RELEASE</spring.version><!-- mybatis版本号--><mybatis.version>3.2.6</mybatis.version><!-- log4j日志文件管理包版本--><slf4j.version>1.7.7</slf4j.version><log4j.version>1.2.17</log4j.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><!-- 表示开发的时候引入,发布的时候不会加载此包--><scope>test</scope></dependency><!-- spring核心包--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>howso.framework-base</groupId><artifactId>howso.framework-base</artifactId> <version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-oxm</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><!-- mybatis核心包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><!-- mybatis/spring包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.2</version></dependency><!-- 导入java ee jar 包--><dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId><version>7.0</version></dependency><!-- 导入Mysql数据库链接jar包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.30</version></dependency><!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库--> <dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.2.2</version></dependency><!-- JSTL标签类--><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- 日志文件管理包--><!-- log start --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><!-- 格式化对象,方便输出日志--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.41</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!-- log end --><!-- 映入JSON --><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-asl</artifactId><version>1.9.13</version></dependency><!-- 上传组件包--><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.9</version></dependency><!-- shiro核心包--><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.2.5</version></dependency><!-- 添加shiro web支持--><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-web</artifactId><version>1.2.5</version></dependency><!-- 添加shiro spring支持--><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>1.2.5</version></dependency></dependencies>这里定义了一系列的propertity,为了后面可以复用,这里还添加了shiro的jar包,主要用于shiro的使用,不加也是可以的,好了下面先附上项目结构图,对于后面理解配置文件会相对容易大家可以根据上面的结构先把com.itany下面的包以及mapper那个文件夹建出来(base包可以忽略,里面是我自己封装的一些东西),后面需要用到配置jdbc.propertiesdriver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/projectusername=rootpassword=#初始连接数initialSize=0#最大连接数maxActive=20#最大空闲数maxIdle=20#最小空闲数minIdle=1#最长等待时间maxWait=60000配置log4j.properties#定义输出级别和输出平台log4j.rootLogger=INFO, stdout , R#设定stdout输出平台log4j.appender.stdout=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n#每天一个日志文件log4j.appender.R=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File=E:\\Tomcat7.0\\logs\\testmvc.logyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d-[TS] %p %t %c - %m%n#对不同的package定义不同的输出级别.alibaba=DEBUG.opensymphony.oscache=ERROR.springframework=DEBUG.ibatis.db=WARN.apache.velocity=FATAL.hibernate.ps.PreparedStatementCache=WARN.hibernate=DEBUG.logicalcobwebs=WARNSpring与Mybatis整合首先配置spring-mybatis.xml文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xmlns:tx="/schema/tx"xmlns:aop="/schema/aop"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.1.xsd/schema/context/schema/context/spring-context-3.1.xsd/schema/mvchttps:///xiaoshuodaquan//schema/mvc/spring-mvc-4.0.xsd/schema/tx/schema/tx/spring-tx-4.0.xsd/schema/aop/schema/aop/spring-aop-4.0.xsd "><!-- 自动扫描--><context:component-scan base-package="com.itany" /><!-- 引入properties配置文件--><bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath:jdbc.properties</value><value>classpath:log4j.properties</value><!--要是有多个配置文件,只需在这里继续添加即可--></list></property></bean><bean id="dataSource" class="mons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName" value="${driver}" /><property name="url" value="${url}" /><property name="username" value="${username}" /><property name="password" value="${password}" /><!-- 初始化连接大小--><property name="initialSize" value="${initialSize}"></property><!-- 连接池最大数量--><property name="maxActive" value="${maxActive}"></property><!-- 连接池最大空闲--><property name="maxIdle" value="${maxIdle}"></property><!-- 连接池最小空闲--><property name="minIdle" value="${minIdle}"></property><!-- 获取连接最大等待时间--><property name="maxWait" value="${maxWait}"></property><!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /><!-- 自动扫描mapping.xml文件--><property name="mapperLocations" value="classpath*:com/itany/**/*Mapper.xml"></property></bean><!-- DAO接口所在包名,Spring会自动查找其下的类--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.itany.dao" /><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property></bean><!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><!-- 配置事务通知属性--><tx:advice id="txAdvice" transaction-manager="transactionManager"><!-- 定义事务传播属性--><tx:attributes><tx:method name="insert*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><tx:method name="edit*" propagation="REQUIRED" /><tx:method name="save*" propagation="REQUIRED" /><tx:method name="add*" propagation="REQUIRED" /><tx:method name="new*" propagation="REQUIRED" /><tx:method name="set*" propagation="REQUIRED" /><tx:method name="remove*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="change*" propagation="REQUIRED" /><tx:method name="check*" propagation="REQUIRED" /><tx:method name="get*" propagation="REQUIRED" read-only="true" /><tx:method name="select*" propagation="REQUIRED" read-only="true"/><tx:method name="find*" propagation="REQUIRED" read-only="true" /><tx:method name="load*" propagation="REQUIRED" read-only="true" /><tx:method name="*" propagation="REQUIRED" read-only="true" /> </tx:attributes><!-- 配置事务切面--><aop:config><aop:pointcut id="serviceOperation"expression="execution(* com.itany.service.*.*(..))" /><aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" /> </aop:config></beans>这里主要配置了控制器的扫描,视图跳转的前缀和后缀以及注解功能,到这里配置基本完成,但是我一般在加载时喜欢用一个总的来管理,所以多了一个applicationContext.xml文件,下面附上配置XML配置加载<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:jee="/schema/jee"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xmlns:context="/schema/context"xmlns:jaxws="/jaxws"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd/schema/aop/schema/aop/spring-aop-3.0.xsd/schema/tx/schema/tx/spring-tx-3.0.xsd/schema/jee/schema/jee/spring-jee-3.0.xsd/schema/context/schema/context/spring-context-3.0.xsd"><import resource="classpath*:spring-mvc.xml" /><import resource="classpath*:spring-mybatis.xml" /></beans>这里主要是引入之前写的配置,剩下的就是web.xml配置了,同样附上web.xml配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><display-name>Archetype Created Web Application</display-name><!-- Spring和mybatis的配置文件--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value> </context-param><!-- 编码过滤器--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><async-supported>true</async-supported><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- Spring监听器--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener><!-- 防止Spring内存溢出监听器--><listener><listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener><!-- 利用spring来使用log4j --><listener><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener><!-- Spring MVC servlet --><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value> </init-param><load-on-startup>1</load-on-startup><async-supported>true</async-supported></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><!-- 此处可以可以配置成*.do,对应struts的后缀习惯--><url-pattern>/</url-pattern></servlet-mapping><!-- 以.js结尾的请求不经过Spring MVC begin --><servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.js</url-pattern></servlet-mapping><servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.css</url-pattern></servlet-mapping><servlet-mapping><servlet-name>default</servlet-name><url-pattern>/SmartAdmin/*</url-pattern></servlet-mapping><servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.jpg</url-pattern></servlet-mapping><servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.png</url-pattern></servlet-mapping><!-- 以.js结尾的请求不经过Spring MVC End --><welcome-file-list><welcome-file>/index.jsp</welcome-file></welcome-file-list></web-app>到这里所有的配置文件已经结束,剩下的就是测试了建表create table user(int id primary key auto_increment,name varchar(20));这里我们建立一张简单的用户表,接着可以使用mybatis-generator生成实体类,mapper,dao,不会的可以参考mybatis-generator,接下来我们只需要写service,serviceImpl,Controller 就行了//service代码public interface UserService{User selectById(int id);}//serviceImpl代码@Service("userService")public class UserServiceImpl implements UserService{@Autowiredprivate UserDao userDao;public User selectById(int id){User u = userDao.selectById(id);return u;}}//Controller代码@Controller@RequestMapping("/userController")public class UserController {private static Logger logger=Logger.getLogger(UserController.class);@Autowiredprivate UserService userService;@RequestMapping("/showUser.html")public String showUser(HttpServletRequest request){User user = userService.selectById(1);request.setAttribute("user",user);return "index";}}这样就可以了,Dao层需要一个selectById方法,mapper里同样要写一个方法,这里就不写了,接下来只需要在WEB-INF下新建一个index.jsp页面就可以获取查询出的值了,到这里框架整合基本结束。