SSM简介

前言

个人学习笔记,本篇主要讲述了SSM的概念以及个人理解

定义

一、什么是SSM?

SSM全称Spring+SpringMVC+MyBatis,是spring、spring MVC 、和mybatis框架的整合,为标准的MVC模式,是目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。

二、SSM框架

标准的SSM框架有四层,分别是dao(mapper)层,service层,controller层和View层。使用spring实现业务对象管理,使用spring MVC负责请求的转发和视图管理,mybatis作为数据对象的持久化引擎。
SSM

2.1 持久层:Dao(Mapper)

DAO,全称是Data Access Object,即数据访问对象,是一种设计模式,用于将应用程序中的业务逻辑和数据访问逻辑分离。DAO模式在一个应用程序中通常有一个或多个接口,每个接口对应一个数据实体,接口中定义了访问数据实体所需的方法,例如增删改查等操作。

在一个典型的Java应用程序中,DAO接口通常通过JDBC、Hibernate、MyBatis等技术来实现数据的访问操作。在实际开发中,DAO模式可以使代码更易于维护和测试,也能够增加程序的可扩展性和可重用性,从而提高开发效率和代码质量。

2.2 业务层:Service

在Spring框架中,Service是一个用于处理业务逻辑的组件,它的作用是提供业务逻辑的封装和调用。Service层一般是由Dao层组合而成,负责处理业务逻辑,为控制器(Controller)层提供服务。在Service层中,我们可以编写各种逻辑方法,用于处理数据库操作、业务逻辑等等。Service层与Dao层之间进行数据的传递,Dao层提供数据的持久化操作,而Service层则对数据进行逻辑处理,将处理后的数据返回给Controller层或前端。

Service层的主要职责是:

  1. 对业务逻辑进行封装和抽象,实现业务流程。

  2. 调用Dao层实现数据的持久化。

  3. 提供接口给Controller层调用,使Controller层不需要直接操作数据源。

  4. 提供事务管理,保证在操作数据时的事务性,确保操作数据的一致性和完整性。

2.3 表现层:Controller

在MVC架构中,控制器(Controller)是一个组件,负责处理用户请求并返回响应结果,也就是对业务逻辑的控制。在Spring框架中,控制器(Controller)可以使用@Controller注解进行标记。控制器可以与模型(Model)和视图(View)进行交互,从模型(Model)中获取数据,对数据进行处理后,再通过视图(View)进行展示。

2.4 视图层:View

View是MVC模式中的一部分,它负责展示模型中的数据给用户,并将用户的输入传递给控制器进行处理。在Web应用程序中,View通常由HTML、CSS、JavaScript等前端技术组成,用于构建用户界面。

在Spring MVC中,View由ViewResolver来解析和渲染,ViewResolver会根据请求处理器方法返回的逻辑视图名(即请求结果的视图名)解析出对应的View对象,View对象将模型数据传递到视图中进行渲染,最终生成响应的HTML页面返回给客户端。

三、SSM的组成

3.1 Spring

Spring是一个开源的轻量级Java框架,它的主要目的是为了简化企业级Java应用的开发。Spring提供了诸如依赖注入(DI)和面向切面编程(AOP)等核心功能,以及在Web开发、安全性、数据访问等方面提供了丰富的支持。Spring 的核心是一个容器(IoC容器),它管理Java类之间的依赖关系和对象的生命周期。Spring 提供了各种集成包和插件,使其易于集成到其他开发框架中。

Spring框架的优点包括:

  1. 低耦合:通过IoC容器实现对象的松散耦合,使代码更加灵活、可维护和可测试。

  2. AOP支持:Spring对AOP的支持使得编写复杂的系统更加容易。

  3. 事务支持:Spring的事务管理可以使得在使用Java数据库API时实现事务管理变得更加简单。

  4. 面向切面编程:Spring提供了面向切面编程的支持,使开发人员能够对业务逻辑进行更好的组织和管理。

  5. Web框架支持:Spring支持各种Web框架,如Struts、JSF和Spring MVC等,使得开发Web应用程序变得更加容易。

  6. 易于集成:Spring框架易于与其他框架进行集成,例如Hibernate、MyBatis和Apache Struts等。

3.2 SpringMVC

SpringMVC是Spring框架中的一个模块,它是一个Web框架,用于构建基于MVC模式的Web应用程序。它通过使用Java编程语言为Web应用程序提供了一种简单的方式,以便于在Web环境中使用Spring框架。

SpringMVC基于前端控制器模式设计,其中一个Servlet充当控制器,负责接收和处理客户端请求,并决定如何响应。SpringMVC提供了很多有用的功能,如:处理HTTP请求,将请求参数绑定到方法参数中,拦截请求和响应,使用视图技术渲染输出等。

SpringMVC使用注解驱动的方式,简化了开发人员的工作,提高了代码的可读性和可维护性。它还支持多种视图技术,如JSP、FreeMarker、Velocity等。

3.3 MyBatis

MyBatis是一种开源的持久化框架,它通过XML或注解配置SQL映射,将Java对象映射到关系型数据库中的表。MyBatis可以将数据查询结果映射成Java对象,也可以将Java对象插入、更新、删除到数据库中。

MyBatis的核心组件包括:

  1. SqlSessionFactory:创建SqlSession的工厂类,用于生成SqlSession对象。

  2. SqlSession:MyBatis与数据库交互的会话,可以使用SqlSession执行数据库操作,例如查询、更新、删除、插入等。

  3. Mapper:Mapper是Java接口,用于定义数据库操作方法。Mapper接口中的方法名和参数类型与Mapper.xml文件中的SQL语句绑定。

  4. Mapper.xml:Mapper.xml文件用于定义SQL语句,包括查询、更新、删除、插入等操作,也可以进行参数的动态组装。

参考文献

Spring官方文档

Spring中文文档

  • 25
    点赞
  • 165
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋书一叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值