对于像我这样的小白来说,学习SSM配置之前,我觉得我们需要知道是Java Web的经典三层结构:
1.dao层(数据层):负责对数据向数据库的增删查改操作;
2.service层(业务层):负责数据的处理,如果没有数据处理,则传向dao层,相当于对dao层的又一次封装;
3.controller(web)层 (控制层):负责页面和程序之间传递数据,还有页面跳转。
Spring:功能十分强大!!!一个轻量级非侵入式框架,不强制要求应用系统的类必须从Spring框架的系统API的某个类来继承或者实现某个接口,意味着可以自由移植,无需改变系统的核心功能。使用最多的是其核心的IOC和AOP。
IOC(控制反转,依赖注入)控制类的对象,反转给Spring管理,不需要手动new对象,交给Spring容器管理;
AOP(面向切面编程)面向切面常用于非业务场景,如:日志、事务、安全等,这些代码往往都是重复的,辅助系统正常流程的代码,这一类功能通过切面概念,从正常流程中区分开来,进行独立处理。
Spring MVC:作用于web层,处理与用户的数据交互。
Mybatis:说到Mybatis就想到了Hibernate,我刚开始接触的就是Mybatis,没有用过Hibernate.相对于Hibernate,Mybatis上手简单,运行速度快,动态sql等优点,对于像我这样的小白来说,推荐先使用Mybatis,后在考虑使用Hibernate,因为Hibernate门槛较高。
我使用的是:Eclipse + SSM + Mysql 5.5 + Tomcat 8.0
一.新建Maven项目(Maven的下载配置及优点不懂滴小白们可以自行百度,在此就不做过多滴介绍啦)
Eclipse新建项目:new -> other -> Maven Project -> maven-achetype-webapp
Group Id:项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
Artifact Id:就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
1.eclipse里第一次创建Maven项目时,src/main/java与src/test/java目录都不会出现,这是因为eclipse里的一个默认配置。这时候想要让这两个目录出现,就需要修改以下配置:
选中项目右键->properties ->java build path ->Libraries ->JRE System Library ->edit -> 选择alternate JRE ->选择jdk
2.若index.jsp报错,则需要添加tomcat支持
选中项目右键->properties ->java build path ->Libraries ->Add Library ->Server Runtime -> next ->选择服务器->finish
然后建立好完整的项目目录,Maven项目就正式建成,接下来就是配置啦
二.通过Maven pom.xml下载Jar包
自行搜索下载相关Jar包,相对于手动导入,以及处理jar包之间的依赖冲突,Maven让此变得十分滴方便
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项目的基本配置啦,不需要你能一字不差的写出所有的配置,但要懂得配置的作用,每个标签过几遍,理解就行啦。正所谓熟能生巧,有空就多搭建几次,多做几个项目,以后的你必能融会贯通,一起加油啊!