SSM框架是目前最流行的项目架构之一,即使用Spring、SpringMVC、MyBatis这三个框架来搭建项目的主架构。SSM框架整合的关键在于Spring与MyBatis的整合,下面依次介绍这三个框架以及如何整合使用,顺带介绍一下SVN和Maven工具。
一、Spring、SpringMVC、MyBatis基本概念
1、Spring
Spring 是进行对象管理,对象关联,解耦的一个中间层框架,是为了解决企业应用程序开发的复杂性而创建的。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。 简单来说, Spring 是一个轻量级的控制反转( IoC )和面向切面( AOP )的容器框架。
2、SpringMVC
Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块,所以在进行Web开发时可以直接使用 Spring MVC 架构。Spring MVC框架是一个基于请求驱动的Web框架,使用前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器进行处理。
3、MyBatis
MyBatis 本是 apache 的一个开源项目 iBatis , 2010 年这个项目由 apache software foundation 迁移到了 google code ,并且改名为 MyBatis 。 MyBatis 是一个基于 Java 的 持久层 框架。 iBatis 提供的持久层框架包括 SQL Maps 和 Data Access Objects ( DAO )。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。 MyBatis是一个数据持久层(ORM)框架,把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现
二、MyBatis的特点
基于SQL语法,SQL语句封装在配置文件中,便于统一管理与维护。
自动化程度低、手工映射SQL,灵活程度高。
三、MyBatis开发步骤
1、添加MyBatis jar包 主jar包+lib下jar包+数据库连接jar包
2、编写MyBatis 配置文件 mybatis-config.xml
typeAliases java类别名 ;
typeHandlers类型处理器;
Settings行为方式: lazyLoadingEnabled 懒加载 cacheEnabled缓存
Environment环境变量 ;
mappers 映射;
transactionManager 事务管理器:<transactionManagertype=“[JDBC|MANAGED]”/>
dataSource 数据源: <dataSourcetype=“[UNPOOLED|POOLED|JNDI]”/>
3、编写实体类及SQL映射文件 比如:UserMapper.xml
4、创建DAO接口及接口实现类
5、编写测试类进行测试
四、MyBatis持久化操作步骤
1、加载MyBatis配置文件
Reader reader=Resources.getResourceAsReader(“mybatis-config.xml”);
2、创建session工厂构造器、并构造sessionFactory
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory sessionFactory = builder.build(reader);
3、取得session session=sessionFactory.openSession();
4、事务操作 session.commit();
5、关闭session session.close();
五、SQL映射文件的顶级元素
SQL映射文件:每一个实体类对应一个SQL映射文件,包括一些CRUD的sql语句
cache -配置给定命名空间的缓存 cache-ref –从其他命名空间引用缓存配置
resultMap 用来描述数据库结果集和对象的对应关系
parameterType 将会传入这条语句的参数类的完全限定名或别名。
resultType 从这条语句中返回的期望类型的类的完全限定名或别名
useCache 将其设置为true,将会导致本条语句的结果被缓存
flushCache 将其设置为true,会导致缓存被清
fetchSize 这是暗示驱动程序每次批量返回的结果行数。
六、SpringMVC框架原理
具体执行步骤如下:
1、首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;
2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图2-1中的3、4、5步骤;
3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图2-1中的步骤6、7;
4、 前端控制器再次收回控制权,将响应返回给用户,图2-1中的步骤8;至此整个结束。
七、Spring MVC开发步骤
1、添加spring springmvc jar包
2、配置前端控制器 web.xml
load-on-startup:表示启动容器时初始化该Servlet;
3、在Spring mvc配置文件中配置context:component-scan、ViewResolver
4、在页面控制器(Controller类)添加模型数据和设置逻辑视图名
5、修改视图页面–jsp页面
八、Spring和MyBatis整合步骤
1、建立工程,加入Spring和MyBatis的有关jar包
2、建立开发目录结构,创建实体类
3、创建数据访问层:Dao接口及接口实现类
4、配置SQL映射语句文件和web.xml过滤器文件
5、配置Spring应用配置文件,spring关联MyBatis
6、创建业务逻辑层:service接口及接口实现类
7、创建控制层:添加模型数据和设置逻辑视图名
九、Maven工具
Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。
依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven工具会自动下载项目所需要的jar包,统一管理jar包之间的依赖关系。
Maven的好处:
Maven中使用约定,明确约定了java源代码代码以及编译好的java代码放到哪个目录。
Maven的每一个动作都拥有一个生命周期,如执行 mvn install 的构建过程
只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情
使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。
十、SVN工具
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
SVN使用步骤:
1、搭建SVN服务器
2、安装SVN客户端
3、使用SVN工具的检出、增加、删除、更新功能