Web后端开发总结(day14)

news/2025/1/12 5:45:32/

Web后端开发总结

web后端开发现在基本上都是基于标准的三层架构进行开发的,在三层架构当中,
Controller控制器 层负责接收请求响应数据,
Service业务层负责具体的业务逻辑处理,
Dao数据访问层也叫持久层, 就是用来处理数据访问操作的,来完成数据库当中数据的增删改查操作。

如果我们在执行具体的业务处理之前,需要去做一些通用的业务处理,比如:我们要进行统一的登录校 验,我们要进行统一的字符编码等这些操作时,我们就可以借助于Javaweb当中三大组件之一的过滤器 Filter或者是Spring当中提供的拦截器Interceptor来实现。

而为了实现三层架构层与层之间的解耦,我们学习了Spring框架当中的第一大核心:IOC控制反转与DI 依赖注入。

  • 所谓控制反转,指的是将对象创建的控制权由应用程序自身交给外部容器,这个容器就是我们常说 的IOC容器或Spring容器。
  • DI依赖注入指的是容器为程序提供运行时所需要的资源。

除了IOC与DI我们还讲到了AOP面向切面编程,还有Spring中的事务管理、全局异常处理器,以及传递 会话技术Cookie、Session以及新的会话跟踪解决方案JWT令牌,阿里云OSS对象存储服务,以及通过 Mybatis持久层架构操作数据库等技术。

我们在学习这些web后端开发技术的时候,我们都是基于主流的SpringBoot进行整合使用的。而 SpringBoot又是用来简化开发,提高开发效率的。像过滤器、拦截器、IOC、DI、AOP、事务管理等 这些技术到底是哪个框架提供的核心功能?

  • Filter过滤器、Cookie、 Session这些都是传统的JavaWeb提供的技术。
  • JWT令牌、阿里云OSS对象存储服务,是现在企业项目中常见的一些解决方案。
  • IOC控制反转、DI依赖注入、AOP面向切面编程、事务管理、全局异常处理、拦截器等,这些技术都是 Spring Framework框架当中提供的核心功能。
  • Mybatis就是一个持久层的框架,是用来操作数据库的。

在Spring框架的生态中,对web程序开发提供了很好的支持,如:全局异常处理器、拦截器这些都是 Spring框架中web开发模块所提供的功能,而Spring框架的web开发模块,我们也称为:SpringMVC

SpringMVC不是一个单独的框架,它是Spring框架的一部分,是Spring框架中的web开发模 块,是用来简化原始的Servlet程序开发的。

外界俗称的SSM,就是由:SpringMVC、Spring Framework、Mybatis三块组成。

基于传统的SSM框架进行整合开发项目会比较繁琐,而且效率也比较低,所以在现在的企业项目开发当 中,基本上都是直接基于SpringBoot整合SSM进行项目开发的。

上一节:

SpringBoot 原理篇(day14)-CSDN博客

下一节:


http://www.ppmy.cn/news/1562417.html

相关文章

MyBatis深入了解

目录 xml 映射文件中,除了常见的select、insert、update、delete 标签之外,还有哪些标签? Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗? MyBatis 是如何进行分页的?分页插件的原理是什么? 简述 …

sql正则表达

MySQL中的正则表达式使用REGEXP关键字来指定匹配模式。常见的正则表达式符号包括: .:匹配任意单个字符 ^:匹配字符串的开始位置 $:匹配字符串的结束位置 *:匹配前面的字符或字符集出现零次或多次 :匹配前面…

【漫话机器学习系列】044.热点对特性的影响(Effect Of One Hot On Feature Importance)

热点对特性的重要性影响(Effect of One-Hot Encoding on Feature Importance) 一热编码(One-Hot Encoding) 是处理类别型数据的常用方法,将每个类别特征转换为一组独立的二进制特征。这种方法在提高模型处理非数值数据…

云端 IPv4 VRRP+MSTP多备份组配置实验

SW3和SW4作为核心交换机,SW1和SW2分别有两条链路可做冗余链路连接到核心交换机上。 1、把SW3和SW4配置vrrp虚拟路由器冗余协议,把两台路由器虚拟成一台路由器 2、创建两个备份组,备份组一的虚拟ip做pc6的网关,备份组二的虚拟ip做…

C++ 位运算符 [学习笔记]

在C中&#xff0c;进位符<<和>>是位运算符&#xff0c;它们用于处理二进制数据&#xff0c;特别是在底层程序设计和嵌入式开发中非常重要。下面我们从基本概念、使用方法、应用场景等方面详细讲解。 1. 基本概念 1.1 << 左移运算符 作用&#xff1a;将二进…

web-app uniapp监测屏幕大小的变化对数组一行展示数据作相应处理

web-app uniapp监测屏幕大小的变化对数组一行展示数据作相应处理 1.uni.getSystemInfoSync().screenWidth; 获取屏幕宽度 2.uni.onWindowResize&#xff08;&#xff09; 实时监测屏幕宽度变化 3.根据宽度的大小拿到每行要展示的数量itemsPerRow 4.为了确保样式能够根据 items…

Gitlab-Runner配置

原理 Gitlab-Runner是一个非常强大的CI/CD工具。它可以帮助我们自动化执行各种任务&#xff0c;如构建、测试和部署等。Gitlab-Runner和Gitlab通过API通信&#xff0c;接收作业并提交到执行队列&#xff0c;Gitlab-Runner从队列中获取作业&#xff0c;并允许在不同环境下进行作…

c++入门之 命名空间与输入输出

1、命名空间 1.1使用命名空间的原因 先看一个例子&#xff1a; #include <iostream>int round 0;int main() {printf("%d", round);return 0; }请问&#xff0c;这个程序能跑起来吗&#xff1f; 答案是否定的 原因是&#xff0c;当我们想创建一个全局变量 …