Web开发后端总结

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

  • 在三层架构当中,前端发起请求首先会到达Controller(不进行逻辑处理),然后Controller会直接调用Service 进行逻辑处理, Service再调用Dao完成数据访问操作。

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

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

  • IOC控制反转:指的是将对象创建的控制权由应用程序自身交给外部的Spring容器或IOC容器,声明为Spring容器或IOC容器当中的Bean对象。
  • DI依赖注入指的是容器为程序提供运行时所需要的资源。

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

全局异常处理器:可以捕获我们系统当中所抛出来的异常。

我们在学习这些Web后端开发技术的时候,我们都是基于主流的SpringBoot进行整合使用的。而SpringBoot又是用来简化开发,提高开发效率的

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

全局异常处理、拦截器、请求响应,这些都是对Web开发的支持。

在Spring Framework - Spring框架的生态当中,对Web程序开发提供了非常好的支持,像全局异常处理器、拦截器这些都是Spring框架当中Web开发模块所提供的功能,而Spring框架当中的Web开发模块我们也称为Spring MVC框架

所以,大家会发现,Spring MVC它并不是一个单独的框架,Spring MVC其实就是Spring框架的一部分,是Spring框架当中所提供的Web开发模块,是用来简化原始的Servlet程序的开发的

像我们前面所编写的Controller以及在Contrioller当中接收请求、响应数据的这一部分的功能,都是Spring MVC当中提供的功能。

Spring MVC,Spring Framework也就是Spring框架,还有MyBatis,这三个框架,又称为SSM。

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

相关推荐
Highcharts.js4 小时前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
头发还在的女程序员5 小时前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
CodeStats5 小时前
【Spring事务】Spring事务注解 @Transactional 完整体系:从 MySQL 隔离级别到 MyBatis 原理详解
java·spring·mybatis·事务·transactional
我命由我123456 小时前
Android 开发问题:为 PDFView 设置一个带有黑色边框的背景 drawable,但边框没有生效
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
爱写代码的小朋友7 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
果汁华7 小时前
Function Calling 与 Python 实战完整指南
开发语言·网络·python
小小晓.7 小时前
C++:语句和作用域
开发语言·c++
都叫我大帅哥8 小时前
从Python到Java:为什么企业级Agent最终会选择Java?
java·ai编程
wanderist.8 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
海天鹰9 小时前
PHP上传文件
android·开发语言·php