SSM配置详解:Spring + Spring MVC + Mybatis(SSM)

一.Java Web三层结构

对于像我这样的小白来说,学习SSM配置之前,我觉得我们需要知道是Java Web的经典三层结构:

1.dao层(数据层):负责对数据向数据库的增删查改操作;

2.service层(业务层):负责数据的处理,如果没有数据处理,则传向dao层,相当于对dao层的又一次封装;

3.controller(web)层 (控制层):负责页面和程序之间传递数据,还有页面跳转。

 

二.SSM介绍

Spring:功能十分强大!!!一个轻量级非侵入式框架,不强制要求应用系统的类必须从Spring框架的系统API的某个类来继承或者实现某个接口,意味着可以自由移植,无需改变系统的核心功能。使用最多的是其核心的IOC和AOP。

IOC(控制反转,依赖注入)控制类的对象,反转给Spring管理,不需要手动new对象,交给Spring容器管理;

AOP(面向切面编程)面向切面常用于非业务场景,如:日志、事务、安全等,这些代码往往都是重复的,辅助系统正常流程的代码,这一类功能通过切面概念,从正常流程中区分开来,进行独立处理。

Spring MVC:作用于web层,处理与用户的数据交互。

Mybatis:说到Mybatis就想到了Hibernate,我刚开始接触的就是Mybatis,没有用过Hibernate.相对于Hibernate,Mybatis上手简单,运行速度快,动态sql等优点,对于像我这样的小白来说,推荐先使用Mybatis,后在考虑使用Hibernate,因为Hibernate门槛较高。

 

三.SSM项目配置

我使用的是:Eclipse + SSM + Mysql 5.5 + Tomcat 8.0

一.新建Maven项目(Maven的下载配置及优点不懂滴小白们可以自行百度,在此就不做过多滴介绍啦)

Eclipse新建项目:new -> other -> Maven Project  -> maven-achetype-webapp

SSM配置详解:Spring + Spring MVC + Mybatis(SSM)_第1张图片

Group Id:项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。

Artifact Id:就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

SSM配置详解:Spring + Spring MVC + Mybatis(SSM)_第2张图片

1.eclipse里第一次创建Maven项目时,src/main/java与src/test/java目录都不会出现,这是因为eclipse里的一个默认配置。这时候想要让这两个目录出现,就需要修改以下配置:

选中项目右键->properties ->java build path ->Libraries ->JRE System Library ->edit -> 选择alternate JRE ->选择jdk


SSM配置详解:Spring + Spring MVC + Mybatis(SSM)_第3张图片

2.若index.jsp报错,则需要添加tomcat支持

SSM配置详解:Spring + Spring MVC + Mybatis(SSM)_第4张图片

选中项目右键->properties ->java build path ->Libraries ->Add Library ->Server Runtime -> next ->选择服务器->finish

SSM配置详解:Spring + Spring MVC + Mybatis(SSM)_第5张图片

SSM配置详解:Spring + Spring MVC + Mybatis(SSM)_第6张图片

然后建立好完整的项目目录,Maven项目就正式建成,接下来就是配置啦

SSM配置详解:Spring + Spring MVC + Mybatis(SSM)_第7张图片

二.通过Maven pom.xml下载Jar包

自行搜索下载相关Jar包,相对于手动导入,以及处理jar包之间的依赖冲突,Maven让此变得十分滴方便

SSM配置详解:Spring + Spring MVC + Mybatis(SSM)_第8张图片

pom.xml(根据项目需求,自行下载)

	
		
			junit
			junit
			4.12
			test
		
		
			ch.qos.logback
			logback-classic
			1.2.3
		
		
		
		
			org.springframework
			spring-core
			${spring.version}
		
		
		
			org.springframework
			spring-beans
			${spring.version}
		
		
		
			org.springframework
			spring-context
			${spring.version}
		
		
		
			org.springframework
			spring-jdbc
			${spring.version}
		
		
		
			org.springframework
			spring-tx
			${spring.version}
		
		
		
			org.springframework
			spring-web
			${spring.version}
		
		
		
			org.springframework
			spring-webmvc
			${spring.version}
		
		
		
			org.springframework
			spring-test
			${spring.version}
			test
		
		
		
			javax.servlet
			javax.servlet-api
			4.0.1
		
		
		
			com.fasterxml.jackson.core
			jackson-databind
			2.9.9
		
		
		
			commons-collections
			commons-collections
			3.2.2
		
		
		
			org.mybatis
			mybatis
			3.5.1
		
		
			org.mybatis
			mybatis-spring
			2.0.1
		
		
		
			mysql
			mysql-connector-java
			5.1.47
		
		
		
			com.mchange
			c3p0
			0.9.5.4
		
		
		
			net.coobird
			thumbnailator
			0.4.8
		
	

 

三.逐层配置Spring

 

1.dao层:1.配置数据库相关参数properties的属性:${url}

                  2.配置数据库连接池相关属性

                  3. 配置SqlSessionFactory对象

                  4.配置扫描dao接口包,动态实现dao接口,注入到spring容器中

 

dao层配置前我们需在src/main/resources下准备相关配置文件:

jdbc.properties(数据库连接属性,我为本地连接)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=

mybatis-config.xml(Mybatis配置文件)




	
	
		
		

		
		

		
		
	

logback.xml (日志配置文件)




	
	
	
	
	
	
	

	
	
		
			${log.pattern}
		
	

	
	
		
		${log.filePath}/debug.log
		
			
			${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz
			
			
			${log.maxHistory}
		
		
			${log.pattern}
		
		
			DEBUG
			ACCEPT
			DENY
		
	

	
	
		
		${log.filePath}/info.log
		
			
			${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz
			
			
			${log.maxHistory}
		
		
			${log.pattern}
		
		
			INFO
			ACCEPT
			DENY
		
	

	
	
		
		${log.filePath}/erorr.log
		
			
			${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz
			
			
			${log.maxHistory}
		
		
			${log.pattern}
		
		
			ERROR
			ACCEPT
			DENY
		
	
	
		
		
		
	
	
		
	

 

然后开始逐层配置: 

spring-dao.xml



	

	
	

	
	
		
		
		
		
		

		
		
		
		
		
		
		
		
		
	

	
	
		
		
		
		
		
		
		
		
	

	
	
		
		
		
		
	

 

2.service层:1.扫描service包所有注解的类型

                       2.配置事务管理器,把事务管理交由spring来完成

                       3.配置基于注解的声明式事务

 

spring-service.xml 




	
	

	
	
		
		
	

	
	

 

3.web层:1.开启springMVC注解模式

                 2.静态资源默认servlet配置

                    (1)加入对静态资源的处理:css,js,gif,png 等

                    (2)允许使用"/"做整体映射

                 3.定义视图解析器

                 4.扫描web相关的bean

 

spring-web.xml




	
	
	

	
	
	

	
	
		
		
	

	
	

 

4.在web.xml里整合配置文件(/src/main/webapp/WEB-INF/web.xml)

web.xml




	
		spring-dispatcher
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			classpath:spring/spring-*.xml
		
	

	
		spring-dispatcher
		
		/
	

以上就是SSM项目的基本配置啦,不需要你能一字不差的写出所有的配置,但要懂得配置的作用,每个标签过几遍,理解就行啦。正所谓熟能生巧,有空就多搭建几次,多做几个项目,以后的你必能融会贯通,一起加油啊!

 

 

你可能感兴趣的:(SSM)