SSM框架详细整合教程Word格式.docx
《SSM框架详细整合教程Word格式.docx》由会员分享,可在线阅读,更多相关《SSM框架详细整合教程Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
MyBatis
本是apache的一个开源项目iBatis,
2010年这个项目由apache
software
foundation
迁移到了google
code,并且改名为MyBatis
。
MyBatis是一个基于Java的持久层框架。
iBATIS提供的持久层框架包括SQL
Maps和Data
Access
Objects〔DAO〕MyBatis
消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
使用简单的
XML或注解用于配置和原始映射,将接口和
Java
的POJOs〔Plain
Old
Objects,普通的
Java对象〕映射成数据库中的记录。
2、开发环境搭建
如果需要,参看之前的博文:
3、MavenWeb项目创立
4、SSM整合
下面主要介绍三大框架的整合,至于环境的搭建以及项目的创立,参看上面的博文。
这次整合我分了2个配置文件,分别是spring-mybatis.xml,包含spring和mybatis的配置文件,还有个是spring-mvc的配置文件,此外有2个资源文件:
jdbc.propertis和log4j.properties。
完整目录结构如下〔最后附上源码下载地址,不建议直接使用源码,因为此教程已经有了全部代码〕:
使用框架都是较新的版本:
4.1、Maven引入需要的JAR包
为了方便后面说的时候不需要引入JAR包,我这里直接给出所有需要的JAR包,这都是根本的JAR包,每个包的是干什么的都有注释,就不再多说了。
pom.xml
[html]
viewplaincopyprint?
1.<
properties>
2.<
!
--
spring版本号
-->
3.<
spring.version>
<
/spring.version>
4.<
mybatis版本号
5.<
mybatis.version>
/mybatis.version>
6.<
log4j日志文件管理包版本
7.<
slf4j.version>
/slf4j.version>
8.<
log4j.version>
/log4j.version>
9.<
/properties>
10.
11.<
dependencies>
12.<
dependency>
13.<
groupId>
/groupId>
14.<
artifactId>
/artifactId>
15.<
version>
/version>
16.<
表示开发的时候引入,发布的时候不会加载此包
17.<
scope>
/scope>
18.<
/dependency>
19.<
spring核心包
20.<
21.<
22.<
23.<
24.<
25.
26.<
27.<
28.<
29.<
30.<
31.<
32.<
33.<
34.<
35.<
36.<
37.<
38.<
39.<
40.<
41.
42.<
43.<
44.<
45.<
46.<
47.
48.<
49.<
50.<
51.<
52.<
53.<
54.<
55.<
56.<
57.<
58.
59.<
60.<
61.<
62.<
63.<
64.
65.<
66.<
67.<
68.<
69.<
70.<
mybatis核心包
71.<
72.<
73.<
74.<
75.<
76.<
mybatis/spring包
77.<
78.<
79.<
80.<
81.<
82.<
导入java
ee
jar
包
83.<
84.<
85.<
86.<
87.<
88.<
导入Mysql数据库jar包
89.<
90.<
91.<
92.<
93.<
94.<
导入dbcp的jar包,用来在applicationContext.xml中配置数据库
95.<
96.<
97.<
98.<
99.<
100.<
JSTL标签类
101.<
102.<
103.<
104.<
105.<
106.<
日志文件管理包
107.<
log
start
108.<
109.<
110.<
111.<
112.<
113.
114.
115.<
格式化对象,方便输出日志
116.<
117.<
118.<
119.<
120.<
121.
122.
123.<
124.<
125.<
126.<
127.<
128.
129.<
130.<
131.<
132.<
133.<
134.<
end
135.<
映入JSON
136.<
137.<
138.<
139.<
140.<
141.<
上传组件包
142.<
143.<
144.<
145.<
146.<
147.<
148.<
149.<
150.<
151.<
152.<
153.<
154.<
155.<
156.<
157.
158.
159.<
/dependencies>
4.2、Spring与MyBatis的整合
所有需要的JAR包都引入以后,首先进展Spring与MyBatis的整合,然后再进展JUnit测试,先看一个项目结构图:
jdbc.properties〔文件编码修改为utf-8〕
1.driver
2.url
3.username
4.password
5.
6.initialSize
7.
8.maxActive
9.
10.maxIdle
11.
12.minIdle
13.
14.maxWait
这个文件就是用来完成spring和mybatis的整合的。
这里面也没多少行配置,主要的就是自动扫描,自动注入,配置数据库。
注释也很详细,大家看看就明白了。
spring-mybatis.xml
?
xmlversionencoding?
>
beansxmlns
3.xmlns:
xsixmlns:
p
4.xmlns:
context
5.xmlns:
mvc
6.xsi:
schemaLocation
8.
11.>
自动扫描
context:
component-scanbase-package/>
引入配置文件
beanid
16.class>
propertynamevalue/>
/bean>
19.
beanidclass
21.destroy-method>
25.<
初始化连接大小
propertynamevalue>
/property>
连接池最大数量
连接池最大空闲
连接池最小空闲
获取连接最大等待时间
37.
spring和MyBatis完美整合,不需要mybatis的配置映射文件
beanidclass>
propertynameref/>
41.<
自动扫描mapping.xml文件
44.
DAO接口所在包名,Spring会自动查找其下的类
beanclass>
47.<
50.
(事务管理)transaction
manager,
use
JtaTransactionManager
for
global
tx
53.class>
56.
/beans>
为了方便调试,一般都会使用日志来输出信息,Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口效劳器、NT的事件记录器、UNIX
Syslog守护进程等;
我们也可以控制每一条日志的输出格式;
通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
Log4j的配置很简单,而且也是通用的,下面给出一个根本的配置,换到其他项目中也无需做多大的调整,如果想做调整或者想了解Log4j的各种配置,参看我的一篇博文,很详细:
下面给出配置文件目录:
log4j.properties
1.
2.log4j.rootLogger
3.
4.
6.
12.
14.
15.
16.
17.
18.
已经完成了Spring和mybatis的整合,这样我们就可以编写一段测试代码来试试是否成功了。
既然我们需要测试,那么我们就需要建立在数据库中建立一个测试表,这个表建的很简单,SQL语句为:
[sql]
1.DROPTABLE
2.
3.CREATETABLE
4.intNOTNULL
5.varcharNOTNULL
6.passwordvarcharNOTNULL
7.intNOTNULL
8.PRIMARYKEY
9.DEFAULT
11.fortable
13.insertintopasswordvalues'
测试'
'
sfasgfaf'
参考博文:
这个可根据表自动创立实体类、MyBatis映射文件以及DAO接口,当然,我习惯将生成的接口名改为IUserDao,而不是直接用它生成的UserMapper。
如果不想麻烦就可以不改。
完成后将文件复制到工程中。
如图:
目录结构:
下面给出具体的容:
IUserService.jave
[java]
1.package
3.import
5.publicinterface
6.publicint
UserServiceImpl.java
5.import
7.import
8.import
9.import
11.Service"
userService"
12.publicclassimplements
13.Resource
14.private
15.Override
16.publicint
17.//
TODO
Auto-generated
method
stub
18.returnthis
20.
21.
测试类在src/test/java中建立,下面测试类中注释掉的局部是不使用Spring时,一般情况下的一种测试方法;
如果使用了Spring那么就可以使用注解的方式来引入配置文件和类,然后再将service接口对象注入,就可以进展测试了。
如果测试成功,表示Spring和Mybatis已经整合成功了。
输出信息使用的是Log4j打印到控制台。
6.import
10.import
11.import
12.import
14.import
15.import
16.import
18.RunWithclass//表示继承了SpringJUnit4ClassRunner类
19.ContextConfiguration"
classpath:
spring-mybatis.xml"
21.publicclass
22.privatestaticclass
23.//
private
ApplicationContext
ac
=
null;
24.Resource
25.privatenull
26.
27.//
Before
28.//
public
void
before()
{
29.//
new
ClassPathXmlApplicationContext("
applicationContext.xml"
);
30.//
userService
(IUserService)
ac.getBean("
31.//
}
32.
33.Test
34.publicvoid
35.1
36.
37.//
logger.info("
值:
"
+user.getUserName());
38.
39.
40.
测试结果:
至此,完成Spring和mybatis这两大框架的整合,下面在继续进展SpringMVC的整合。
4.3、整合SpringMVC
上面已经完成了2大框架的整合,SpringMVC的配置文件单独放,然后在web.xml中配置整合。
配置里面的注释也很详细,在此就不说了,主要是自动扫描控制器,视图模式,注解的启动这三个。
自动扫描该包,使SpringMVC认为包下用了controller注解的类是控制器
--防止IE执行AJAX时,返回JSON出现下载文件
propertyname>
list>
value>
charset<
/value>
/list>
启动SpringMVC的注解功能,完成请求和注解POJO的映射
bean
25.class>
refbean/>
JSON转换器
定义跳转的文件的前后缀
,视图模式配置-->
这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个
可用的url地址
/bean