博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssm整合详解
阅读量:6115 次
发布时间:2019-06-21

本文共 8294 字,大约阅读时间需要 27 分钟。

使用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来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

 

1.2、SpringMVC

 

     

        Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了、模型、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

 

1.3、MyBatis

 

 

       MyBatis 本是的一个开源项目, 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、Maven Web项目创建

 

 

如果需要,参看之前的博文:

 

4、SSM整合

 

      

        下面主要介绍三大框架的整合,至于环境的搭建以及项目的创建,参看上面的博文。这次整合我分了2个配置文件,分别是spring-mybatis.xml,包含spring和mybatis的配置文件,还有个是spring-mvc的配置文件,此外有2个资源文件:jdbc.propertis和log4j.properties。完整目录结构如下(最后附上源码下载地址,不建议直接使用源码,因为此教程已经有了全部代码):

4-1-1,导入Maven 需要的包

  pom.xml

 

4.0.0
com.csw
backend
1.0-SNAPSHOT
war
UTF-8
1.8
1.8
5.1.0.RELEASE
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
javax
javaee-api
8.0
provided
javax.servlet
jstl
1.2
com.github.pagehelper
pagehelper
5.1.7
org.springframework
spring-context
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.aspectj
aspectjweaver
1.9.1
org.hibernate
hibernate-validator
6.0.3.Final
org.mybatis
mybatis
3.4.6
org.mybatis
mybatis-spring
1.3.2
org.mariadb.jdbc
mariadb-java-client
2.3.0
com.mchange
c3p0
0.9.5.2
log4j
log4j
1.2.17
com.fasterxml.jackson.core
jackson-databind
2.9.7
org.springframework
spring-test
${spring.version}
test
junit
junit
4.12
test
contact
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.7
org.mariadb.jdbc
mariadb-java-client
2.3.0

 

 

 

 

 

配置MyBatis

 generatorConfig.xml  配置这个文件的好处就是自动生成实体类、接口、映射文件,但是MyBatis自身佩戴的生成器有一个缺点,就是设计的不严谨,这个主要还是看个人选择了  手动  滑稽/滑稽/

   jdbc.properties

jdbc.driver=org.mariadb.jdbc.Driverjdbc.url=jdbc:mariadb://localhost:3306/maidanglaojdbc.user=rootjdbc.password=13794709305

 log4j.properties

# Global logging configurationlog4j.rootLogger=ERROR, ooo# MyBatis logging configuration...log4j.logger.com.nf147.dao=DEBUG# 规则1,名字为 ooo,向标准输出 System.err/outlog4j.appender.ooo=org.apache.log4j.ConsoleAppenderlog4j.appender.ooo.layout=org.apache.log4j.PatternLayoutlog4j.appender.ooo.layout.ConversionPattern=%5p [%t] ~ %m%n# 规则2,输出为文件log4j.appender.000=org.apache.log4j.FileAppenderlog4j.appender.000.File=d:/log/log.outlog4j.appender.000.layout=org.apache.log4j.PatternLayoutlog4j.appender.000.layout.conversionPattern=%m %n# 规则3,输出到数据库log4j.appender.o0o=org.apache.log4j.jdbc.JDBCAppenderlog4j.appender.o0o.URL=jdbc:mariadb://localhost/dogolog4j.appender.o0o.driver=org.mariadb.jdbc.Driverlog4j.appender.o0o.user=rootlog4j.appender.o0o.password=13794709305log4j.appender.o0o.layout=org.apache.log4j.PatternLayoutlog4j.appender.o0o.sql=INSERT INTO LOGS VALUES('%t')

mybatis - config.xml

4-1-2配置Spring文件

spring-web.xml

spring-dao.xml

spring-service.xml

基本上整个ssm项目的结构就是这样了,第一次写博客,相信以后会越来越好的,蟹蟹大家的浏览。。

 

 

 

 

转载于:https://www.cnblogs.com/cheng88/p/10053606.html

你可能感兴趣的文章
HDU 2818 (矢量并查集)
查看>>
【转】php字符串加密解密
查看>>
22. linux 常用命令
查看>>
ASP.Net 使用GridView模板删除一行的用法
查看>>
(十六)字段表集合
查看>>
JPGraph
查看>>
实验二 Java面向对象程序设计
查看>>
------__________________________9余数定理-__________ 1163______________
查看>>
webapp返回上一页 处理
查看>>
新安装的WAMP中phpmyadmin的密码问题
查看>>
20172303 2017-2018-2 《程序设计与数据结构》第5周学习总结
查看>>
eclipse中将一个项目作为library导入另一个项目中
查看>>
Go语言学习(五)----- 数组
查看>>
Android源码学习之观察者模式应用
查看>>
Content Provider的权限
查看>>
416. Partition Equal Subset Sum
查看>>
centos7.0 64位系统安装 nginx
查看>>
数据库运维平台~自动化上线审核需求
查看>>
注解开发
查看>>
如何用 Robotframework 来编写优秀的测试用例
查看>>