当前位置: 首页 > 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

http://www.lryc.cn/news/402638.html

相关文章:

  • 如何使用在线工具将手机相册中的图片转换为JPG格式
  • C#医学影像管理系统源码(VS2013)
  • Qt Creator 项目Console 项目踩坑日记
  • [MAUI 项目实战] 笔记App(一):程序设计
  • VisualRules-Web案例展示(一)
  • 使用Docker 实现 MySQL 循环复制(三)
  • Spring如何管理Mapper
  • NFS存储、API资源对象StorageClass、Ceph存储-搭建ceph集群和Ceph存储-在k8s里使用ceph(2024-07-16)
  • 「Vue组件化」封装i18n国际化
  • 【Git远程操作】理解分布式管理 | 创建远程仓库
  • OJ-0718
  • python抓包 -- 用wireshark抓包、解析--scapy、PyShark
  • uni-app开发日志:unicloud使用时遇到的问题解决汇总(不断补充)
  • 插入排序算法详解
  • parallel 详细解析 Java 8 Stream API 中的 parallel 方法
  • 不同业务场景下通过mars3d实现绕点旋转效果
  • 重塑水利未来:智慧水利解决方案的探索与实践,从物联网、大数据到人工智能,科技如何赋能水利行业,实现智慧化管理与决策
  • IO、进程、线程03
  • 算法力扣刷题记录 五十二【617.合并二叉树】
  • Java中的ArrayList和LinkedList有什么区别?
  • Linux C++ 058-设计模式之解释器模式
  • MDK5没有DeviceName
  • 在LabVIEW中实现图像矫正
  • Apache httpd-vhosts.conf 配置详解(附Demo)
  • 活动回顾 | AutoMQ 联合 GreptimeDB 共同探讨新能源汽车数据基础设施
  • 格式工厂转换视频分辨率
  • ReAct 大模型提示框架
  • JavaEE:Lombok工具包的使用以及EditStarter插件的安装
  • 基于纹理和统计图像特征集成的计算机辅助乳腺癌检测
  • Java基础 - 简介和配置环境变量