SSM框架详细整合教程.docx

上传人:b****8 文档编号:9530394 上传时间:2023-02-05 格式:DOCX 页数:27 大小:393.45KB
下载 相关 举报
SSM框架详细整合教程.docx_第1页
第1页 / 共27页
SSM框架详细整合教程.docx_第2页
第2页 / 共27页
SSM框架详细整合教程.docx_第3页
第3页 / 共27页
SSM框架详细整合教程.docx_第4页
第4页 / 共27页
SSM框架详细整合教程.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

SSM框架详细整合教程.docx

《SSM框架详细整合教程.docx》由会员分享,可在线阅读,更多相关《SSM框架详细整合教程.docx(27页珍藏版)》请在冰豆网上搜索。

SSM框架详细整合教程.docx

SSM框架详细整合教程

 

[置顶] SSM框架——详细整合教程〔Spring+SpringMVC+MyBatis〕

分类:

 J2EE2014-07-1912:

49 12858人阅读 评论(54) 收藏 举报

springspringmvcmybatis整合教程ssm整合

目录(?

)[+]

    使用SSM〔Spring、SpringMVC和Mybatis〕已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改良的地方。

之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。

以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。

这次,先说说三大框架整合过程。

个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。

不过,如果用都不会,谈思想就变成纸上谈兵了!

先技术,再思想。

实践出真知。

〔可通过图片水印查看博客地址〕

1、根本概念

1.1、Spring

     Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的局部理念和原型衍生而来。

它是为了解决企业应用开发的复杂性而创立的。

Spring使用根本的JavaBean来完成以前只可能由E完成的事情。

然而,Spring的用途不仅限于效劳器端的开发。

从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

 简单来说,Spring是一个轻量级的控制反转〔IoC〕和面向切面〔AOP〕的容器框架。

1.2、SpringMVC

   

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。

Spring MVC 别离了控制器、模型对象、分派器以及处理程序对象的角色,这种别离让它们更容易进展定制。

1.3、MyBatis

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。

MyBatis是一个基于Java的持久层框架。

iBATIS提供的持久层框架包括SQL Maps和Data Access Objects〔DAO〕MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。

MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs〔Plain Old Java 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.

2.

-- spring版本号 -->

3.

4.

-- mybatis版本号 -->

5.

6.

-- log4j日志文件管理包版本 -->

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

-- 表示开发的时候引入,发布的时候不会加载此包 -->

17.

18.

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.

-- log 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.

4.2、Spring与MyBatis的整合

所有需要的JAR包都引入以后,首先进展Spring与MyBatis的整合,然后再进展JUnit测试,先看一个项目结构图:

jdbc.properties〔文件编码修改为utf-8〕

[html] viewplaincopyprint?

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

[html] viewplaincopyprint?

1.

xmlversionencoding?

>

2.

3.xmlns:

xsixmlns:

p

4.xmlns:

context

5.xmlns:

mvc

6.xsi:

schemaLocation

7.

8.

9.

10.

11.>

12.

-- 自动扫描 -->

13.

component-scanbase-package/>

14.

-- 引入配置文件 -->

15.

16.class>

17.

18.

19.

20.

21.destroy-method>

22.

23.

24.

25.

26.

-- 初始化连接大小 -->

27.

28.

-- 连接池最大数量 -->

29.

30.

-- 连接池最大空闲 -->

31.

32.

-- 连接池最小空闲 -->

33.

34.

-- 获取连接最大等待时间 -->

35.

36.

37.

38.

-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->

39.

40.

41.

-- 自动扫描mapping.xml文件 -->

42.

43.

44.

45.

-- DAO接口所在包名,Spring会自动查找其下的类 -->

46.

47.

48.

49.

50.

51.

-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->

52.

53.class>

54.

55.

56.

57.

 

   为了方便调试,一般都会使用日志来输出信息,Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口效劳器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。

   Log4j的配置很简单,而且也是通用的,下面给出一个根本的配置,换到其他项目中也无需做多大的调整,如果想做调整或者想了解Log4j的各种配置,参看我的一篇博文,很详细:

下面给出配置文件目录:

log4j.properties

[html] viewplaincopyprint?

1.

2.log4j.rootLogger

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

 

已经完成了Spring和mybatis的整合,这样我们就可以编写一段测试代码来试试是否成功了。

 

既然我们需要测试,那么我们就需要建立在数据库中建立一个测试表,这个表建的很简单,SQL语句为:

[sql] viewplaincopyprint?

1.DROPTABLE

2.

3.CREATETABLE

4.intNOTNULL

5.varcharNOTNULL

6.passwordvarcharNOTNULL

7.intNOTNULL

8.PRIMARYKEY

9.DEFAULT

10.

11.fortable

12.

13.insertintopasswordvalues'测试''sfasgfaf'

 

参考博文:

    这个可根据表自动创立实体类、MyBatis映射文件以及DAO接口,当然,我习惯将生成的接口名改为IUserDao,而不是直接用它生成的UserMapper。

如果不想麻烦就可以不改。

完成后将文件复制到工程中。

如图:

目录结构:

下面给出具体的容:

IUserService.jave

[java] viewplaincopyprint?

1.package

2.

3.import

4.

5.publicinterface

6.publicint

7.

UserServiceImpl.java

[java] viewplaincopyprint?

1.package

2.

3.import

4.

5.import

6.

7.import

8.import

9.import

10.

11.Service"userService"

12.publicclassimplements

13.Resource

14.private

15.Override

16.publicint

17.// TODO Auto-generated method stub

18.returnthis

19.

20.

21.

 

    测试类在src/test/java中建立,下面测试类中注释掉的局部是不使用Spring时,一般情况下的一种测试方法;如果使用了Spring那么就可以使用注解的方式来引入配置文件和类,然后再将service接口对象注入,就可以进展测试了。

    如果测试成功,表示Spring和Mybatis已经整合成功了。

输出信息使用的是Log4j打印到控制台。

[java] viewplaincopyprint?

1.package

2.

3.import

4.

5.import

6.import

7.import

8.import

9.import

10.import

11.import

12.import

13.

14.import

15.import

16.import

17.

18.RunWithclass//表示继承了SpringJUnit4ClassRunner类

19.ContextConfiguration"classpath:

spring-mybatis.xml"

20.

21.publicclass

22.privatestaticclass

23.//  private ApplicationContext ac = null;

24.Resource

25.privatenull

26.

27.//  Before

28.//  public void before() {

29.//      ac = new ClassPathXmlApplicationContext("applicationContext.xml");

30.//      userService = (IUserService) ac.getBean("userService");

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中配置整合。

配置里面的注释也很详细,在此就不说了,主要是自动扫描控制器,视图模式,注解的启动这三个。

[html] viewplaincopyprint?

1.

xmlversionencoding?

>

2.

3.xmlns:

xsixmlns:

p

4.xmlns:

context

5.xmlns:

mvc

6.xsi:

schemaLocation

7.

8.

9.

10.

11.>

12.

-- 自动扫描该包,使SpringMVC认为包下用了controller注解的类是控制器 -->

13.

component-scanbase-package/>

14.

--防止IE执行AJAX时,返回JSON出现下载文件 -->

15.

16.class>

17.

18.

19.charset

20.

21.

22.

23.

-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->

24.

25.class>

26.

27.

28.

-- JSON转换器 -->

29.

30.

31.

32.

-- 定义跳转的文件的前后缀 ,视图模式配置-->

33.

34.

-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->

35.

36.

37.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1