设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
SSM三大框架整合详细教程(SPRING+SPRINGMVC+MYBATIS) ...
返回列表
发新帖
SSM三大框架整合详细教程(SPRING+SPRINGMVC+MYBATIS)
[复制链接]
11
|
3
|
2021-1-27 05:27:01
|
显示全部楼层
|
阅读模式
SSM三大框架整合详细教程(SPRING+SPRINGMVC+MYBATIS)
使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。这次,先说说三大框架整合过程。个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想。实践出真知。(可通过图片水印查看博客地址)
1、基本概念
1.1、Spring
Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
1.2、SpringMVC
SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
1.3、MyBatis
MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。
2、开发环境搭建
如果需要,参看之前的博文:http://blog.csdn.net/zhshulin/article/details/30779873
3、MavenWeb项目创建
如果需要,参看之前的博文:http://blog.csdn.net/zhshulin/article/details/37921705
4、SSM整合
下面主要介绍三大框架的整合,至于环境的搭建以及项目的创建,参看上面的博文。这次整合我分了2个配置文件,分别是spring-mybatis.xml,包含spring和mybatis的配置文件,还有个是spring-mvc的配置文件,此外有2个资源文件:jdbc.propertis和log4j.properties。完整目录结构如下:
使用框架都是较新的版本:
Spring4.0.2RELEASE
SpringMVC4.0.2RELEASE
MyBatis3.2.6
4.1、Maven引入需要的JAR包
为了方便后面说的时候不需要引入JAR包,我这里直接给出所有需要的JAR包,这都是基本的JAR包,每个包的是干什么的都有注释,就不再多说了。
pom.xml
4.0.2.RELEASE
3.2.6
1.7.7
1.2.17
junit
junit
4.11
test
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
javax
javaee-api
7.0
mysql
mysql-connector-java
5.1.30
commons-dbcp
commons-dbcp
1.2.2
jstl
jstl
1.2
log4j
log4j
${log4j.version}
com.alibaba
fastjson
1.1.41
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.codehaus.jackson
jackson-mapper-asl
1.9.13
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-codec
commons-codec
1.9
4.2、Spring与MyBatis的整合
所有需要的JAR包都引入以后,首先进行Spring与MyBatis的整合,然后再进行JUnit测试,先看一个项目结构图:
4.2.1、建立JDBC属性文件
jdbc.properties(文件编码修改为utf-8)
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://10.221.10.111:8080/db_zsl
username=demao
password=demao
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000
4.2.2、建立spring-mybatis.xml配置文件
这个文件就是用来完成spring和mybatis的整合的。这里面也没多少行配置,主要的就是自动扫描,自动注入,配置数据库。注释也很详细,大家看看就明白了。
spring-mybatis.xml
4.2.3、Log4j的配置
为了方便调试,一般都会使用日志来输出信息,Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
Log4j的配置很简单,而且也是通用的,下面给出一个基本的配置,换到其他项目中也无需做多大的调整,如果想做调整或者想了解Log4j的各种配置,参看我转载的一篇博文,很详细:
http://blog.csdn.net/zhshulin/article/details/37937365
下面给出配置文件目录:
log4j.properties
#定义LOG输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c]-%m%n
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File=org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File=logs/ssm.log
#定义文件最大大小
log4j.appender.File.MaxFileSize=10MB
#输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold=ALL
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-ddHH\:mm\:ss}][%c]%m%n
分 -->
回复
使用道具
举报
千问
|
2021-1-27 05:27:01
|
显示全部楼层
转载注明出处:https://www.cnblogs.com/jay36/p/7762448.html
回复
使用道具
举报
千问
|
2021-1-27 05:27:01
|
显示全部楼层
谢谢分享
回复
使用道具
举报
千问
|
2021-1-27 05:27:01
|
显示全部楼层
jdbc.properties里面url等属性改为jdbc.url会更好一些,更有辨识度
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
手指关节疼
2
女朋友偷了我的菜,我就要跟她分手,你们说我做得对么?
3
求救!HP 4311SVK271PA 装WIN7
4
想买款韩版皮面的冬鞋 有什么好的建议吗 买完后怎么保养呢
5
我在青岛城阳前桃林附近。最近想买无线上网卡。不知道哪个信号能好点。还有华为和中兴哪个比较好。
6
EXCEL如何对数字分解乘系数。
7
双色球奖金如何分配?
8
在三元里怎么去奥体
9
上海市胶州路一栋28层公寓楼火灾最新情况?
10
狗狗的掉毛
11
我想把我的网站显示在百度推广链接里,请问需要怎么做?需要网站点击量么?
12
为以后房屋交换,现在需要什么证明??
13
尼康d3100的视频为什么有点卡?,拍720的25或24帧频的在电脑上放,一二秒卡下,这是怎么回事?
14
做门户网站多少钱?做企业网站多少钱?
15
谁知到这几张图片的出处啊,有悬赏哦
16
劳动法全文
17
做衣帽间好还是做个衣柜好?用什么材料好呢?
18
各位 帮帮翻译一句话、谢谢!不要用翻译软件和在线翻译
19
这是什么漫画?指尖奶茶翻译的
20
这是什么字体
21
谁知道这个卡通? 告诉我名字
22
紧急求助!!!3dmax2010安装后打不开!
23
为什么极品飞车10玩不了
24
打开EXCEL时提示
25
QQ2010好友栏背景色
26
惠普4G优盘多少钱?
27
能给我发一份进销存的财务软件或者EXCEL模板吗?我现在做电子行业,采购原材料然后组装销售
28
熟悉物流业务的朋友们,问下大家“交运单”的作用是什么?
29
双孢菇病害救助!
30
表示公差的mm/mt是什么意思?谢谢!
31
成都天然气压缩机厂 怎么样? 研究生进去待遇如何?据说现在归济柴动力总厂了。
32
这个白色猫头鹰是什么品种?
33
张家港外国语学校招生
34
中国有213处锰矿,哪里能查到全部的具体位置
35
为什么呢上商都茶苑打黑七老卡
36
电脑死机后,按重启键迟缓两秒才执行重启,是为什么
37
求E61证书 串号354329040315553 邮箱是
[email protected]
求帮助
38
贲门癌手术后还能活多久?
39
怎样研究错误记忆?
40
我新安装了一个JAVA打开总是问我是否准许执行?
41
自考计算机本科,专科是工商企业管理的,我需要多考几门?有没有免考的科目?
42
阳春市永宁镇的户籍办理港澳游?
43
Toefl和sat哪个先考比较好 sat的数学主要考什么内容 相当于国内高几的课程
44
山西晋城市电化教育馆的邮编
45
苏宁仓管离职率高的原因
46
请问该怎么理解hibernate中的工厂类?
47
求几个天津好玩的地方,便宜的,免费更好~~我要去几天^^
48
怎样在淘宝上开发布商品。求具体步骤。
49
300m和380m过滤器那个精度高
50
怎样解冻冷冻食品?
51
文老师专业内江咖啡豆批发,一目天内江咖啡豆批发公司在哪儿?
52
谁能帮我治好腰上的疱疹?
53
一个数学题目
54
海口要推出“精品演出年票卡”了,好像叫椰子卡,请问这个在哪儿能买到啊
55
2010年11月16日后籽棉价格是否有望回升
56
听说广东欧美装饰公司入驻南昌了啦,是真的吗?我朋友是在广东,说他们的装修水平是相当好,服务也好,//
57
重庆石桥铺有哪些电脑城
58
雪佛兰景程致真版怠速1000转是否正常?
59
电脑各个盘的用途
60
V3值得买吗?
61
富利卡6年老车发动机积碳如何解决?
62
瑞风传动轴如何更换?
63
帮朋友起个英文名字,
64
由于公司搬迁 变压器申请移动 怎么写申请
65
南京栖霞山什么时候去风景最好,红叶是红的,现在枫叶有没有红呀??
66
关于捷达发动机
67
02年捷达前卫能卖多少钱?
68
帕萨特1.8t挂不上档怎么办?
69
怎么说服老爸开电信
70
悦翔排气管冬季不滴水正常吗?
71
陈翔语音说客的号码
72
我喜欢上一个比自己大的女孩..... 如果让她知道了我的年龄,她会接受吗?谁来帮帮我啊.....
73
帮忙翻译个地址吧!!!
74
不尝试不知道味道。英语格言。
75
从石家庄市速递物流公司长安分公司到山东省济宁市中区的得几天能到阿?
76
A.O.史密斯燃气和万和热水器哪个好
77
捷达油耗高吗?
78
dnf一天16小时怎么才以才能赚1000万以上
79
希望能确诊一下到底是甲亢还是桥本氏甲状腺炎 应该服用什么药,怎么服用才能得到控制
80
QQ邮箱 怎么看到被屏蔽的邮件
81
我每天5点20起床,慢跑50分钟,压腿1小时,我体质弱,这样不会影响身体...
82
happy,pleasant(pleased),delight(delightful)的区别
83
熊猫的故乡在哪?
84
赛欧不出风了怎么办?
85
新凯越、新宝来、高尔夫6,这三款那款车更好些?
86
我是小白,想入iphone4,关于流量有很大的问题问题~
87
手机无法上网说请检查网络设置怎么办
88
请高手帮忙写一套MT4公式。
89
1.1升哈飞路宝加防冻液后就会蒸发和开锅怎么办?
90
马自达6油耗突然升高怎么办?
91
5230刷机花屏是什么原因
92
浙江大学高等教育自学考试本科毕业生学士学位申请中,申请条件有本科专业计划规定的课程成绩达到70分是指
93
奇瑞风云2行使多少公里以后需要拉速度?
94
小孩出生于2010年11月2日16时15分。是个女孩,父亲姓冯。
95
桑塔纳车电瓶如何保养?
96
老帕1.8t多少公里换皮带?
97
跪求张家口中通速递的取货地址,中通不管送我自己去取。。。
98
当着老婆面玩女人的人不能要
99
君越好吗?