当前位置: 首页 > news >正文

SpringBoot3 + Vue3 学习 Day 1

springboot 基础 和 注册接口的开发

  • 学习视频
  • 基础
    • SpringBoot 概述
    • 快速启动
    • 配置文件基本使用
      • ① application.properties
      • ② application.yml (更好)
    • yml 配置信息的书写和获取
      • yml 配置信息书写与获取 1 -@ Value
      • yml 配置信息书写与获取 2 - @ConfigurationProperties
    • SpringBoot 整合Mybatis
    • Bean 扫描
  • 注册接口的开发
    • 1、连接数据库并创建表
    • 2、创建Spring Boot 工程
    • 3、注册接口 的开发
      • 流程
      • ① 创建实体类 并用 Lombok 自动生成各种方法
      • ② 定义大管家 Controller 类,并发号施令
      • ③ 定义手下 UserService 类
        • 怎么加密?
      • ④ 小二 UserMapper 登场,开始办事
      • ⑤ 开始测试
    • 4、注册账号 的参数校验
      • a、 手写 if - else
      • b、使用 Spring Validation 参数校验框架
        • ① 添加 validation 依赖
        • ② 注解
        • ③ 参数校验失败异常处理

学习视频

黑马程序员SpringBoot3+Vue3全套视频教程,springboot+vue企业级全栈开发从基础、实战到面试一套通关

基础

SpringBoot 概述

image-20240716104330969

快速启动

image-20240716105144038

① 创建Maven工程

​ 文件 -> new -> Module ->…

image-20240702145803965

② 导入spring-boot-starter-web 起步依赖

image-20240702145838003

image-20240716110150807

③ 编写Controller

image-20240702145901527

④ 提供启动类

image-20240702150014971

配置文件基本使用

① application.properties

image-20240702151822985

image-20240702151836653

② application.yml (更好)

image-20240702152134664

yml 配置信息的书写和获取

image-20240716151630116

image-20240716153552395

yml 配置信息书写与获取 1 -@ Value

类中使用 @Value 注解后(类中注解的名称和 yml 中的名称需一一对应),会自动去 yml 中获取配置并赋值

多个变量多个注解

image-20240716155030027

yml 配置信息书写与获取 2 - @ConfigurationProperties

一个zhu’j

image-20240716155428035

SpringBoot 整合Mybatis

image-20240717091115747

Bean 扫描

Spring Boot 工程默认扫描 启动类所在的包及其子包。如下图:启动类在 springbootmybatis 包里,而 UserController 类在itheima 包里,这样默认是扫描不到的。得加 ComponentScan 注解才能访问

image-20240718095541798

注册接口的开发

1、连接数据库并创建表

① 点击IDEA 右侧 database 数据图标,再点击 + 选择 Data Source -> MySQL 连接数据库

image-20240718153653852

② 填写数据库账号密码等

image-20240718154005338

③ 进入mysql 的操作窗口

image-20240718154217559

全选代码,并点击运行 ,生成三张表

image-20240718154419568

2、创建Spring Boot 工程

① 设置名称,位置,组等信息。Type选择maven,jdk 17,jave 17

image-20240718154632776

② 选择 web,MySQL,mybatis 依赖

image-20240718220057222

③ yml 配置链接 数据库

image-20240718220221640

3、注册接口 的开发

流程

controller 大管家,集中处理,分发任务:

叫狗腿子(userService),先看看用户存在不,存在则大管家报告Boss 说注册失败,账号存在;若不存在,则告诉狗腿子账号密码,叫狗腿子去注册一个,然后告诉Boss 注册成功

狗腿子(userService)接收命令。然后去人事部(User)找小二(userMapper)去查看用户或者注册,小二是真正操作者

① 创建实体类 并用 Lombok 自动生成各种方法

1、 lombok 小工具,使用时能自动生成实体类的 set,get,toString 等各种 方法。十分方便。用法:

① 导入 lombok 依赖,并 maven 一下

image-20240718161351389

② 在实体类(用户实体类,和操作返回结果实体类)上添加注解 @data (@data 是实现数据类的方法 get、set、equel、toString、Hash)

和 @NoArgsConstructor (生成无参构成方法)@AllArgsConstructor(有参构造方法)

image-20240718222958338

image-20240718222924213

② 定义大管家 Controller 类,并发号施令

image-20240718225517687

③ 定义手下 UserService 类

狗腿子是接口,接收到命令后,立马说:收到,我执行了。

image-20240718225630593

然后狗腿子部门开会,得出具体实现:我先把大管家告诉我的密码加密,然后叫具体的小二去执行

image-20240718230204358

怎么加密?

① 导入 MD5 的工具类

image-20240718230655825

② 在实现类中调用 getMD5String() 方法

String md5String = Md5Util.getMD5String(password);

④ 小二 UserMapper 登场,开始办事

image-20240718231237777

⑤ 开始测试

使用 postman 软件进行测试 PostMan中文文档

点击 Workspaces -》Create Workspace-》起名字-》创建 工作集 Collections

image-20240718232350635

点击send,可在下方看到 大管家告诉 Boss 的信息

4、注册账号 的参数校验

a、 手写 if - else

image-20240719083652054

b、使用 Spring Validation 参数校验框架

Spring Validation 通过使用预定义的注解,来完成参数校验

image-20240719091125650

① 添加 validation 依赖

image-20240719084429707

② 注解

image-20240719085718399

这样注册失败,只会抛异常。而不会放回Result 对象,生成系统能识别 的json 信息。所以得处理异常

image-20240719090733559

③ 参数校验失败异常处理

生成 exception 包 和全局异常处理类

image-20240719090815619

这样注册失败后,返回的信息就易懂了

image-20240719090923758

相关文章:

SpringBoot3 + Vue3 学习 Day 1

springboot 基础 和 注册接口的开发 学习视频基础SpringBoot 概述快速启动配置文件基本使用① application.properties② application.yml (更好) yml 配置信息的书写和获取yml 配置信息书写与获取 1 - Valueyml 配置信息书写与获取 2 - ConfigurationPr…...

如何使用在线工具将手机相册中的图片转换为JPG格式

我们经常在手机相册中保存大量的图片,无论是家庭聚会的照片还是旅行的瞬间,每一幅图像都承载着珍贵的记忆。然而,有时候我们会遇到图片格式不兼容的问题,尤其是在需要将图片分享到特定平台或编辑时。 例如,某些社交平台…...

C#医学影像管理系统源码(VS2013)

目录 一、概述 二、系统功能 系统维护 工作站 三、功能介绍 影像采集 统计模块 专业阅片 采集诊断报告 报告管理 一、概述 医学影像存储与传输系统(PACS)是一种集成了影像存储、传输、管理和诊断功能的系统。它基于数字化成像技术、计算机技术和…...

Qt Creator 项目Console 项目踩坑日记

最近在做QT的项目,但是一直是带界面(QT Widgets)程序,前几天收到个需求,是要做个socket服务端的桌面程序,界面有没有都成,然后就想着接着用 QT Widgets 搞,结果辛辛苦苦把socket服…...

[MAUI 项目实战] 笔记App(一):程序设计

文章目录 前言框架定义核心类项目地址 系列文章: [MAUI 项目实战] 笔记App(一):程序设计 [MAUI 项目实战] 笔记App(二):数据库设计 前言 有人说现在记事类app这么多,市场这么卷&a…...

VisualRules-Web案例展示(一)

VisualRules单机版以其卓越的功能深受用户喜爱。现在,我们进一步推出了VisualRules-Web在线版本,让您无需安装任何软件,即可在任何浏览器中轻松体验VisualRules的强大功能。无论是数据分析、规则管理还是自动化决策,VisualRules-W…...

使用Docker 实现 MySQL 循环复制(三)

系列文章 使用Docker 实现 MySQL 循环复制(一) 使用Docker 实现 MySQL 循环复制(二) 目录 系列文章1. 在主机上安装MySQL客户端2. 配置循环复制拓扑2.1 进入容器2.2 创建复制用户并授予复制权限2.3 复位二进制日志2.4 配置环形复…...

Spring如何管理Mapper

目录 一、背景二、猜测三、源码查看步骤1、创建MapperScannerConfigurer.java2、MapperScan注解3、MapperScannerRegistrar执行registerBeanDefinitions方法4、MapperScannerConfigurer执行postProcessBeanDefinitionRegistry方法5、执行doscan6、设置beanClass7、使用jdk生成代…...

NFS存储、API资源对象StorageClass、Ceph存储-搭建ceph集群和Ceph存储-在k8s里使用ceph(2024-07-16)

一、NFS存储 注意:在做本章节示例时,需要拿单独一台机器来部署NFS,具体步骤略。NFS作为常用的网络文件系统,在多机之间共享文件的场景下用途广泛,毕竟NFS配置方 便,而且稳定可靠。NFS同样也有一些缺点&…...

「Vue组件化」封装i18n国际化

前言 在Vue应用中实现国际化(i18n),通常需要使用一些专门的库,比如vue-i18n。本文主要介绍自定义封装i18n,支持Vue、uniapp等版本。 设计思路 一、预期效果 二、核心代码 2.1 i18n.xlsx文件准备 2.2 脚本执行 根目录main.js根目录locali18n.xlsxnode main.jsmain.js 文件…...

【Git远程操作】理解分布式管理 | 创建远程仓库

目录 1.理解分布式管理 多人协作开发 2.创建远程仓库 2.1仓库名&路径 2.2初始化仓库&设置模板 1.理解分布式管理 目前我们学习的所有内容都是在本地来完成的。(add /commit /版本撤销回退/分支管理) Git是一个分布式 的版本控制系统。 分支…...

OJ-0718

示例1 input 3 1 1 1 output 0示例2 input 3 3 7 10 output 1示例3 input 4 3 7 10 16 output 3题解1&#xff1a;List {public static void main(String[] args) {Scanner in new Scanner(System.in);int num in.nextInt();List<Integer> list new ArrayList<…...

python抓包 -- 用wireshark抓包、解析--scapy、PyShark

一、 安装scapy模块 1、打开DOS命令行 python -m pip install scapy2、sniff()函数 功能&#xff1a;数据嗅探 参数&#xff1a; iface: 指定在哪个网络接口上抓包 count: 表示要捕获数据包的数量。默认为0(不限制数量) filter: 流量的过滤规则。使用的是 BPF 的语法 prn:…...

uni-app开发日志:unicloud使用时遇到的问题解决汇总(不断补充)

插件安装后提示与原数据库表冲突&#xff08;2024.7.18&#xff09; 安装uni-admin后再安装uni-cms&#xff0c;在uni-admin中添加好菜单&#xff0c;结果提示该错误 回到hbuilder中uniCloud/database中找到冲突的部分 比较一下&#xff0c;选中老的删除 opendb-news-articl…...

插入排序算法详解

快速排序&#xff08;Quick Sort&#xff09;是计算机科学与技术领域中非常经典的一种排序算法&#xff0c;由C. A. R. Hoare在1960年提出。它应用分治思想进行排序&#xff0c;通过对数据进行分区操作&#xff0c;并递归地对分区后的子序列进行排序&#xff0c;从而达到整个序…...

parallel 详细解析 Java 8 Stream API 中的 parallel 方法

详解Java Stream的并行处理&#xff08;Parallel&#xff09; Java 8 引入了Stream API&#xff0c;提供了一种便捷而高效的方式来处理集合数据。Stream API使得对数据集合的操作变得更为简洁和易读。 其中&#xff0c;并行流&#xff08;parallelStream&#xff09;是Stream …...

不同业务场景下通过mars3d实现绕点旋转效果

1.鼠标单击地图某一处就对该点进行绕点旋转效果 相关代码&#xff1a; 1.相关绕点旋转的初始化代码&#xff1a; const rotatePoint new mars3d.thing.RotatePoint({direction: false, // 方向 true逆时针&#xff0c;false顺时针time: 50 // 给定飞行一周所需时间(单位 秒)&…...

重塑水利未来:智慧水利解决方案的探索与实践,从物联网、大数据到人工智能,科技如何赋能水利行业,实现智慧化管理与决策

本文关键词&#xff1a;智慧水利、智慧水利工程、智慧水利发展前景、智慧水利技术、智慧水利信息化系统、智慧水利解决方案、数字水利和智慧水利、数字水利工程、数字水利建设、数字水利概念、人水和协、智慧水库、智慧水库管理平台、智慧水库建设方案、智慧水库解决方案、智慧…...

IO、进程、线程03

第一题&#xff1a;预习 opendir 和 readdir函数 opendir 和 readdir 是两个在C语言&#xff08;特别是使用POSIX标准的系统&#xff0c;如Linux和UNIX&#xff09;中用于目录遍历的函数。这两个函数属于标准的C库中的目录操作部分&#xff0c;通常与<dirent.h>头文件一…...

算法力扣刷题记录 五十二【617.合并二叉树】

前言 二叉树篇&#xff0c;继续。 记录 五十二【617.合并二叉树】 一、题目阅读 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;。你需要…...

Java中的ArrayList和LinkedList有什么区别?

Java中的ArrayList和LinkedList是两种常用的集合实现类&#xff0c;它们都属于Java集合框架的一部分&#xff0c;但它们在内部实现、性能特点、使用场景等方面存在明显的区别。以下是对这两种集合的详细比较&#xff1a; 1. 数据结构差异 ArrayList&#xff1a;ArrayList是动…...

Linux C++ 058-设计模式之解释器模式

Linux C 058-设计模式之解释器模式 本节关键字&#xff1a;Linux、C、设计模式、解释器模式 相关库函数&#xff1a; 概念 解释器模式&#xff08;Interpreter Pattern&#xff09;提供了评估语言的语法或表达式的方式&#xff0c;它属于行为型模式。 解释器模式用于构建一…...

MDK5没有DeviceName

遇到的问题是Jlink驱动问题 不是引脚接反 使用国产GD单片机不同的工程&#xff0c;有的有Device Name,有的没有Device Name&#xff08;下图是弄好的情况&#xff0c;有Device Name&#xff09; 硬件链接&#xff0c;和设备都没有问题&#xff1a;无法仿真&#xff0c;无法下…...

在LabVIEW中实现图像矫正

在LabVIEW中实现图像矫正&#xff0c;特别是将倾斜的笔记本图像&#xff08;如左图&#xff09;校正为正视图像&#xff08;如右图&#xff09;&#xff0c;通常需要以下几个步骤&#xff1a; 1. 获取图像 使用图像采集设备或加载图像文件来获取图像数据。 2. 图像预处理 对…...

Apache httpd-vhosts.conf 配置详解(附Demo)

目录 前言1. 基本配置2. http和https3. 重定向和代理配置4. 实战前言 Nginx的相关配置推荐阅读:Nginx将https重定向为http进行访问的配置(附Demo) 1. 基本配置 httpd-vhosts.conf 是 Apache HTTP Server 配置虚拟主机(Virtual Hosts)的文件 虚拟主机允许在一台服务器上…...

活动回顾 | AutoMQ 联合 GreptimeDB 共同探讨新能源汽车数据基础设施

7 月 13 日&#xff0c;AutoMQ 携手 GreptimeDB“新能源汽车数据基础设施” 主题 meetup 在上海圆满落幕。本次论坛多角度探讨如何通过创新的数据管理和存储架构&#xff0c;提升汽车系统的性能、安全性和可靠性&#xff0c;从而驱动行业的持续发展和创新&#xff0c;涵盖 Auto…...

格式工厂转换视频分辨率

1、下载和安装 http://www.pcfreetime.com/formatfactory/CN/index.html 2、打开视频 3、设置分辨率等参数 也可以选择保持原分辨率 4、执行导出 5、打开输出所在位置...

ReAct 大模型提示框架

你可能不熟悉 ReAct&#xff0c;这是一个旨在增强语言模型 (LLM) 决策能力的尖端框架。 通过使用新的观察结果更新 LLM 的上下文窗口并提示其重新评估信息&#xff0c;ReAct 促进了类似于人类思维过程的推理水平&#xff0c;超越了诸如思维链提示之类的旧技术。 在本文中&…...

JavaEE:Lombok工具包的使用以及EditStarter插件的安装

Lombok是一个Java工具库&#xff0c;通过添加注解的方式&#xff0c;简化Java的开发。 目录 1、引入依赖 2、使用 3、原理解释 4、更多使用 5、更快捷的引入依赖 1、引入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lomb…...

基于纹理和统计图像特征集成的计算机辅助乳腺癌检测

诊断通常使用组织病理学切片&#xff0c;可以确定组织是否处于导管原位癌(DCIS)阶段&#xff0c;其中癌细胞尚未扩散到周围乳腺组织&#xff0c;或浸润性导管癌(IDC)阶段&#xff0c;其中细胞已渗透到邻近组织。对于医生来说&#xff0c;检测IDC非常耗时且具有挑战性。因此&…...

网站建设管理 优帮云/企业网络推广的方式有哪些

我们将陆地区域全部染色一般&#xff0c;如果走到边界&#xff0c;那么就说明不可能被包围&#xff0c;否则就会被包围。注意在BFS不能提前返回&#xff0c;否则我们就没有完全染色。 const int dx[] {0, 1, -1, 0}; const int dy[] {1, 0, 0, -1}; class Solution { public…...

营口建设信息网站/seo优化培训课程

在过去的几个星期&#xff0c;(几乎)每次都有消息 Ubuntu 15.04在启动时检测到系统程序错误 跑出来“欢迎”我。那时我是直接忽略掉它的&#xff0c;但是这种情况到了某个时刻&#xff0c;它就让人觉得非常烦人了&#xff01;检测到系统程序错误(System program problem detect…...

双柏县住房和城乡建设局网站/百度地图网页版进入

为什么80%的码农都做不了架构师&#xff1f;>>> 在第一篇介绍Hazelcast的文章已经提到&#xff0c;Hazelcast为Java中绝大部分数据结构提供了分布式实现。我们常用的Map、List、Queue等数据结构可以用Hazelcast的实现类在多个集群节点之间共享数据。本篇将介绍Map的…...

免费做任务赚钱的网站有哪些/网络推广外包公司排名

1、左下角应用程序 2、找这个Ubuntu软件 3、找添加附件 4、编解码器 5、按照我的第二行第一个点开&#xff08;自己按照名字或简介找自己的&#xff09; 6、点安装&#xff0c;可能要等好一会&#xff0c;才1.6M............. 7、然后在去试试能不能播放&#xff0c;不行的&…...

怎样做模具钢网站/seo范畴有哪些

注意 presto中都是用单引号: select dt from tb1 where dt date 2021-02-01;...

有了域名和主机怎么做网站/网上做广告怎么收费

2019独角兽企业重金招聘Python工程师标准>>> 前面两篇文章说了怎么样简单的使用commons-pool库&#xff0c;这里需要考虑一个问题就是在很多时候我们在池里的对象都是比较重型的并且大多数比较稀缺的资源&#xff0c;比如说数据库连接&#xff0c;这样如果一直把一些…...