::: hljs-right DATE: October 24, 2024 :::

SSM 框架

SSM框架即Spring+SpringMVC+MyBatis,是一种标准的MVC模式,即模型-视图-控制器(Model-View-Controller)。

Spring提供了一个轻量级的IoC(控制反转)容器,可以管理对象的生命周期、依赖注入和AOP(面向切面编程)。SpringMVC是基于Spring的MVC框架,提供了一个分层的架构,可以将Web请求进行处理和响应。而MyBatis是一个持久层框架,提供了对象关系映射,可以将数据库表的数据映射为Java对象。 https://blog.csdn.net/Leoon123/article/details/142300825

image.png

标准框架

dao(mapper)层,service层,controller层和View层: image.png

DAO层

作用:主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此。

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

-- JDBC:Java Database Connectivity,即Java数据库连接,它是一组由Java语言编写的数据库操作的API,提供了一种标准的数据库独立连接到各种数据库的方法,可以让Java程序与支持SQL的数据库进行交互。

业务层:Service层

作用:Service层主要负责业务模块的逻辑应用设计。

表现层:Controller层(Handler层)

作用:负责具体的业务模块流程的控制。

View层

作用:主要和控制层紧密结合,主要负责前台jsp页面的表示。

以上作业用参考自:https://cloud.tencent.com/developer/article/2105381

Spring

IOC(控制反转)

在传统的程序设计中,我们创建和管理对象的生命周期通常是通过直接在代码中进行new操作和调用具体实现。这种方式使得对象之间的耦合度较高,难以适应变化和进行单元测试。 IoC的核心思想是将对象的创建和管理的控制权从程序代码转移到外部容器(如Spring容器),通过外部容器来控制对象的生命周期和依赖关系。

AOP(面向切面)

是面向对象开发的一种补充,它允许开发人员在不改变原来模型的基础上动态的修改模型以满足新的需求,如:动态的增加日志、安全或异常处理等。AOP使业务逻辑各部分间的耦合度降低,提高程序可重用性,提高开发效率。

1.横切关注点:从每个方法中抽取出来的同一类非核心业务代码。 2.切面:封装横切信息点的类,每个关注点体现为一个通知方法。 3.通知:切面必须要完成的各个具体工作,也就是切面里的一个个方法。 4.目标:被通知的对象,也就是被通知方法所作用的对象。 5.代理:像目标对象应用通知之后所创建的代理对象。 6.连接点:横切关注点在程序代码中的具体体现,对应用程序执行的某个特定位置。(通俗来讲就是一个个的方法) 7.切入点:切入点就是定位连接点的方式。每个通知上的切入点表达式找到对应的连接点,执行通知之后连接点也就变成了切入点。 https://cloud.tencent.com/developer/article/2105381

image.png 图源:https://www.cnblogs.com/yufengwang/p/11455812.html

Mybatis

mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。 https://cloud.tencent.com/developer/article/2105381

这里 https://cloud.tencent.com/developer/article/2105381 ,一文中给出了一些简单的代码样例,值得学习。