JAVA自学-SpringBoot

架构对比

  1. C/S架构主要特点是交互性强,具有安全访问模式,网络流量低,响应速度快,因为客户端负责大多数业务逻辑和UI演示,所以也被称为胖客户端,C/S结构的软件需要针对不同的操作系统开发不同版本的软件。随着互联网的兴起,CS架构不适合Web,最大的原因是Web应用程序的修改和升级非常迅速,而CS架构需要每个客户端逐个升级桌面App。
  2. Browser/Server模式开始流行,简称BS架构。
    B/S架构的主要特点是分散性高、维护方便、开发简单、共享性高、总拥有成本低。
    BS架构原理
    在BS架构下,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web页面,并把Web页面展示给用户即可。
    在这里插入图片描述

Maven

Maven是一个项目管理工具,可以对Java项目进行自动化的构建和依赖管理。
在这里插入图片描述

Maven的作用

Maven的作用可以分成三类。

  1. 项目构建:提供标准的,跨平台的自动化构建项目的方式
  2. 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突等问题
  3. 统一开发结构:提供标准的,统一的项目开发结构,如下图所示
    在这里插入图片描述

Maven仓库

运行Maven的时候,Maven所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库。

控制器

Spring Boot提供了@Controller和@RestController两种注解来标识此类负责接收和处理HTTP请求。
如果请求的是页面和数据,使用@Controller注解即可;如果只是请求数据,则可以使用@RestController注解。主要使用后者,因为做前后端分离
在这里插入图片描述

@RestController的用法

默认情况下,@RestController注解会将返回的对象数据转换为JSON格式。

路由映射
  • RequestMapping注解主要负责URL的路由映射。它可以添加在Controller类或者具体的方法上。
  • 如果添加在Controller类上,则这个Controller中的所有路由映射都将会加上此映射规则,如果添加在方法上,则只对当前方法生效。
  • @RequestMapping注解包含很多属性参数来定义HTTP的请求映射规则。常用的属性参数如下:
    value:请求URL的路径,支持URL模板、正则表达式
    method: HTTP请求方法
    consumes:请求的媒体类型(Content-Type),如application/json
    produces:响应的媒体类型
    params,headers:请求的参数及请求头的值

拦截器

Spring Boot定义了Handlerlnterceptor接口来实现自定义拦截器的功能
Handlerlnterceptor接口定义了preHandle、postHandle、afterCompletion三种方法,通过重写这三种方法实现请求前、请求后等操作
在这里插入图片描述

拦截器注册

addPathPatterns方法定义拦截的地址
excludePathPatterns定义排除某些地址不被拦截
添加的一个拦截器没有addPathPattern任何一个url则默认拦截所有请求如果没有excludePathPatterns任何一个请求,则默认不放过任何一个请求。

RESTful

RESTful介绍

RESTful是目前流行的互联网软件服务架构设计风格。
REST (Representational State Transfer,表述性状态转移)一词是由RoyThomas Fielding在2000年的博士论文中提出的,它定义了互联网软件服务的架构原则,如果一个架构符合REST原则,则称之为RESTful架构。
REST并不是一个标准,它更像一组客户端和服务端交互时的架构理念和设计原则,基于这种架构理念和设计原则的Web API更加简洁,更有层次。

RESTful的特点

每一个URI代表─种资源
客户端使用GET、POSTRPUT、DELETE四种表示操作方式的动词对服务端资源进行操作:GET用于获取资源,POST用于新建资源(也可以用于更新资源),PUT用于更新资源,DELETE用于删除资源。
通过操作资源的表现形式来实现服务端请求操作。资源的表现形式是JSON或者HTML。
客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都包含必需的信息。

RESTful API

符合RESTful规范的Web API需要具备如下两个关键特性:
安全性:安全的方法被期望不会产生任何副作用,当我们使用GET操作获取资源时,不会引起资源本身的改变,也不会引起服务器状态的改变。
幂等性:幂等的方法保证了重复进行一个请求和一次请求的效果相同(并不是指响应总是相同的,而是指服务器上资源的状态从第一次请求后就不再改变了),在数学上幂等性是指N次变换和一次变换相同。

HTTP Method

HTTP提供了POST、GET、PUT、DELETE等操作类型对某个Web资源进行
Create、Read、Update和Delete操作。
一个HTTP请求除了利用URI标志目标资源之外,还需要通过HTTP Method指定针对该资源的操作类型,一些常见的HTTP方法及其在RESTful风格下的使用:
在这里插入图片描述

HTTP状态码

HTTP状态码就是服务向用户返回的状态码和提示信息,客户端的每一次请求,服务都必须给出回应,回应包括HTTP状态码和数据两部分。
HTTP定义了40个标准状态码,可用于传达客户端请求的结果。状态码分为以下5个类别:
1xx:信息,通信传输协议级信息
2xx:成功,表示客户端的请求已成功接受
3xx:重定向,表示客户端必须执行一些其他操作才能完成其请求4xx:客户端错误,此类错误状态码指向客户端
5xx:服务器错误,服务器负责这写错误状态码

Spring Boot实现RESTful API

  • Spring Boot提供的spring-boot-starter-web组件完全支持开发RESTful API,提供了与REST操作方式(GET、POST、PUT、DELETE)对应的注解。
    @GetMapping:处理GET请求,获取资源。
    @PostMapping:处理POST请求,新增资源。
    @PutMapping:处理PUT请求,更新资源
    @DeleteMapping:处理DELETE请求,删除资源。
    @PatchMapping:处理PATCH请求,用于部分更新资源。
  • 在RESTful架构中,每个网址代表一种资源,所以URI中建议不要包含动词,只包含名词即可,而且所用的名词往往与数据库的表格名对应。
    用户管理模块API示例:
    在这里插入图片描述

什么是Swagger

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,是非常流行的API表达工具。
Swagger能够自动生成完善的RESTful API文档,同时并根据后台代码的修改同步更新,同时提供完整的测试页面来调试API。
在这里插入图片描述

MybatisPluS

ORM介绍

ORM (Object Relational Mapping,对象关系映射)是为了解决面向对象与关系数据库存在的互不匹配现象的一种技术。
ORM通过使用描述对象和数据库之间映射的元数据将程序中的对象自动持久化到关系数据库中。
ORM框架的本质是简化编程中操作数据库的编码。
在这里插入图片描述

MyBatis-Plus介绍

MyBatis是一款优秀的数据持久层ORM框架,被广泛地应用于应用系统。MyBatis能够非常灵活地实现动态SQL,可以使用XML或注解来配置和映射原生信息,能够轻松地将Java的POJO (Plain Ordinary Java Object,普通的Java对象)与数据库中的表和字段进行映射关联。
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis的基础上做了增强,简化了开发。

MyBatis-Plus CRUD操作

在这里插入图片描述

MyBatis 多表查询

实现复杂关系映射,可以使用@Results注解,@Result注解,@One注解,@Many注解组含完成复杂关系的配置。
在这里插入图片描述
对查询结果进行处理,前面是查询出的列,后面给返回对象赋值;最后一句是从别的表里查询信息:调用哪个mapper的方法
在这里插入图片描述

分页查询

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值