2.1 SSM框架
2.1.1 概念
SpringMVC
属于Spring Framework 的后续产品,它是属于表现层的框架,原生支持Spring的特性,让开发变得非常的简单规范。
Spring
是于2003年兴起的一个轻量级的开源的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
IOC:控制反转也叫依赖注入,利用了工厂模式将对象交给IOC容器管理。
AOP:面向切面编程。AOP是OOP(面向对象编程)的一个扩展和延伸,用于解决OOP开发中遇到的一些问题。AOP不是一种技术,它是一种编程思想。AOP可以进行权限校验、日志记录、性能监控、事务控制。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性和开发效率。
MyBatis
是一个基于Java的持久层框架。消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和普通的 Java对象映射成数据库中的记录。MyBatis是一个用来管理数据增删改查的框架。
2.2 SSM框架的整合
2.2.1 jdbc.properties
包含了数据库的驱动、地址,用户名、密码等信息。
2.2.2 log4j.properties
定义日志的输出格式,设定输出级别为DEBUG。
2.2.3 SqlMapConfig.xml
Mybatis的全局配置文件
2.2.4 applicationContext-dao.xml
这里用于配置数据库的连接:
1、 加载jdbc.properties文件、配置数据源。
2、 配置SqlSessionFactoryBean
a) 装配数据源
b) 指定持久化层接口对应的mapper.xml配置文件的位置
c) 指定mybatis的全局配置文件的位置
3、配置mapper文件扫描器MapperScannerConfigurer,对mapper进行包扫描
2.2.5 applicationContext-service.xml
配置@service注解的包扫描
2.2.6 applicationContext-trans.xml
声明式事务,由Spring全面接管数据库的事务。此处用于事务的配置:
1、 配置事务管理器、并加载数据源。
2、 配置AOP
a) 配置切入点表达式
b) 将事务通知和切入点表达式关联在一起
3、 配置事务通知
a) 配置事务属性
i. 查询方法:配置只读属性
ii. 增删改方法:配置事务传播行为、回滚异常
2.2.7 springmvc.xml
1、配置控制器注解的包扫描
2、配置注解驱动(处理器适配器和处理器映射器)
3、配置视图解析器
2.2.8 web.xml
1、配置加载-dao、-service、-trans配置文件
2、配置监听器加载spring
3、配置filter过滤器解决post请求乱码问题
4、 配置前端控制器,加载springmvc配置文件,配置拦截请求。