SSM整合
🍑🍑🍑
SSM(Spring+SpringMVC+MyBatis)的概念及整合…
一. 基本概念
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)的容器框架。
2. SpringMVC
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
3. MyBatis
MyBatis 本是apache的一个开源项目iBatis, 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对象)映射成数据库中的记录。
二. 整合问题
1. 配置文件
通常情况下, 类似于数据源, 事务, 整合其他框架都是放在 Spring 的配置文件中(而不是放在 SpringMVC 的配置文件中).
实际上放入 Spring 配置文件对应的 IOC 容器中的还有 Service 和 Dao.
不需要: 都放在 SpringMVC 的配置文件中. 也可以分多个 Spring 的配置文件, 然后使用 import 节点导入其他的配置文件
2. SpringIOC 容器和 SpringMVC IOC 容器的关系
SpringMVC 的 IOC 容器中的 bean 可以来引用 Spring IOC 容器中的 bean.
Spring IOC 容器中的 bean 却不能来引用 SpringMVC IOC 容器中的 bean
- 在 Spring MVC 配置文件中引用业务层的 Bean
- 多个 Spring IOC 容器之间可以设置为父子关系,以实现良好的解耦。
- Spring MVC WEB 层容器可作为 “业务层” Spring 容器的子容器:
- 即 WEB 层容器可以引用业务层容器的 Bean,而业务层容器却访问不到 WEB 层容器的 Bean
3. SpringMVC对比Struts2
①. Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter
②. Spring MVC 会稍微比 Struts2 快些. Spring MVC 是基于方法设计, 而 Sturts2 是基于类, 每次发一次请求都会实例一个 Action.
③. Spring MVC 使用更加简洁, 开发效率Spring MVC确实比 struts2 高: 支持 JSR303, 处理 ajax 的请求更方便
④. Struts2 的 OGNL 表达式使页面的开发效率相比 Spring MVC 更高些.
三. 项目实践

1). 导入对应jar包

2). 配置文件
web.xml
1 |
|
spring的配置文件[applicationContext.xml]
1 |
|
SpringMVC.xml
1 |
|
Mybatis配置文件[MybatisConfig.xml]
1 |
|
3). 项目文件
实体类
1 | public class Person { |
Dao接口
1 | public interface PersonDao { |
Service服务层
①接口
1 | public interface PersonService { |
②实现类
1 |
|
controller控制层
1 |
|
4). 数据库文件
MySql数据库结构
1 | /* |
数据库连接
1 | =com.mysql.cj.jdbc.Driver |
Mybatis文件
1 |
|
5). 页面文件
index.jsp
1 | <html> |
query.jsp
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
update.jsp
1 | <html> |
6). 运行结果

- 本文作者:
腾飞
- 本文链接:
https://www.tengfei.eu.org/article/96d170c5.html
- 版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!