1.黑马Springboot基础篇笔记

Springboot基础篇

1.快速上手Springboot

1.基础配置

1.parent

  • 作用:指定jar包版本信息信息,避免依赖版本冲突

1.黑马Springboot基础篇笔记_第1张图片

1.黑马Springboot基础篇笔记_第2张图片

1.黑马Springboot基础篇笔记_第3张图片

2.starter

  • 作用:SpringBoot中常见项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的
  • 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V

1.黑马Springboot基础篇笔记_第4张图片

  • 下面这张图,点进去starter之后是parent提供的版本信息

    1.黑马Springboot基础篇笔记_第5张图片

1.黑马Springboot基础篇笔记_第6张图片

3.引导类

  • 作用: SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目; SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载bean
  • 扫包方式:当前引导类所在包及其子包
  • 此时未启动Tomcat服务器

1.黑马Springboot基础篇笔记_第7张图片

4.内嵌Tomcat

  • 简介: 内嵌Tomcat服务器是SpringBoot辅助功能之一; 内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并 将该对象交给Spring容器管理

  • Tomcat服务器运行原理:tomcat服务器运行以对象的形式在Spring容器中运行的,由spring容器自动运行tomcat-embed-core内嵌核心,而内嵌核心在spring-boot-starter-web中

  • 更换web服务器

    tomcat(默认):apache出品,粉丝多,应用面广,负载了若干较重的组件

    jetty:更轻量级,负载性能远不及tomcat

    undertow:负载性能勉强跑赢tomcat

    想更换只需更换对应starter即可

    1.黑马Springboot基础篇笔记_第8张图片

    2.Springboot基础配置

1.核心配置文件

1.黑马Springboot基础篇笔记_第9张图片

  • 核心配置文件依赖于starter,所以starter即spring-boot-starter这个starter是所有的SpringBoot的starter的基础依赖,里面定义了SpringBoot相关的基础配置

2.属性配置

1.黑马Springboot基础篇笔记_第10张图片

3.配置文件

  • properties格式
  • yml格式**(主流格式)**
  • yaml格式

1.黑马Springboot基础篇笔记_第11张图片

  • 配置文件优先级:(了解)

    application.properties > application.yml > application.yaml

    不同配置文件中相同配置按照加载优先级相互覆盖,不同配置文件中不同配置全部保留

4.yaml文件

1.黑马Springboot基础篇笔记_第12张图片

  • 书写核心规则:数据前面要加空格与冒号隔开

  • 格式:

    1.黑马Springboot基础篇笔记_第13张图片

    1.黑马Springboot基础篇笔记_第14张图片

5.yaml文件读取

  • 读取单个数据规则

1.黑马Springboot基础篇笔记_第15张图片

  • 读取特殊要求数据规则

    1.黑马Springboot基础篇笔记_第16张图片

  • 一次性读取全部数据,解决一次读取一个数据痛点

    1.黑马Springboot基础篇笔记_第17张图片

    缺点:无法做到针对性封装,下面引出针对性封装

  • 读取特定片段数据,封装为一个对象⭐️

  • 目的:通过读取配置文件,封装为一个特定的对象,为项目中各个技术提供特定的配置文件

  • 过程:①在配置文件中写入数据②创建一个实体类通过配置信息接收配置文件指定位置信息③使用实体类对象自动装配到指定位置

    1.黑马Springboot基础篇笔记_第18张图片

1.黑马Springboot基础篇笔记_第19张图片

1.黑马Springboot基础篇笔记_第20张图片

2.基于Springboot整合SSMP

1.整合Junit

  • 本质上还是Spring的测试

  • 纯手工制作步骤:

    1.黑马Springboot基础篇笔记_第21张图片

    1.黑马Springboot基础篇笔记_第22张图片

  • 自动整合

1.黑马Springboot基础篇笔记_第23张图片

1.黑马Springboot基础篇笔记_第24张图片

1.黑马Springboot基础篇笔记_第25张图片

1.注意classes位置⭐️

  • 如果测试类和引导类在一个包或者其子包中,那么会扫描到,不用管;

    1.黑马Springboot基础篇笔记_第26张图片

    否则要指定@SpringBootTest的classes属性为引导类名

  • 原理:通过找到引导类,来获取IOC容器,获取IOC容器中的对象。没有指定classes属性,那么就会在本包中搜索配置类,没找到爆错

2.整合Mybatis⭐️

  • 这里直接设置一个Mapper接口,不需要设置实现类,测试时自动装配直接装配给接口,mybatis底层提供实现类

1.黑马Springboot基础篇笔记_第27张图片

1.黑马Springboot基础篇笔记_第28张图片

3.整合Mybatis-plus

1.黑马Springboot基础篇笔记_第29张图片

4.整合Druid

1.黑马Springboot基础篇笔记_第30张图片

5.整合第三方技术总结⭐️

1.黑马Springboot基础篇笔记_第31张图片

3.SSM整合案例

  • 分析

    1.黑马Springboot基础篇笔记_第32张图片

1.持久层:CRUD操作

1.基本流程

  • 导包的时候一定要相应技术与boot技术的整合包,便于开发

1.黑马Springboot基础篇笔记_第33张图片

  • 1.黑马Springboot基础篇笔记_第34张图片

    1.黑马Springboot基础篇笔记_第35张图片

    1.黑马Springboot基础篇笔记_第36张图片

    1.黑马Springboot基础篇笔记_第37张图片

2.MP开启日志,便于看到内部执行过程

  • 1.黑马Springboot基础篇笔记_第38张图片

3.分页功能

1.黑马Springboot基础篇笔记_第39张图片

1.黑马Springboot基础篇笔记_第40张图片

1.黑马Springboot基础篇笔记_第41张图片

4.条件查询

  • 1.创建查询对象
  • 2.为查询对象封装条件
  • 3.调用bookDao中的selectList方法去实现

1.黑马Springboot基础篇笔记_第42张图片

1.黑马Springboot基础篇笔记_第43张图片

2.业务层:

  • 名称与数据层区别开来

  • 基础操作:CRUD

  • 借助mybatis快速开发Service

    如果不满足开发要求,那么手动加入到接口中,然后自己实现

    1.黑马Springboot基础篇笔记_第44张图片

    image-20230322150853601

3.表现层

  • 参数比较少,用@PathVarible;参数比较多,用@RequestBody接收

  • 1.黑马Springboot基础篇笔记_第45张图片

  • 表现层数据统一处理,解决返回格式乱的问题

    1.黑马Springboot基础篇笔记_第46张图片

1.黑马Springboot基础篇笔记_第47张图片

1.黑马Springboot基础篇笔记_第48张图片

3.1 前后端数据协议⭐️

  • Service层做操作的时候

    查询的返回结果为数据

    增删改,返回的数据为boolen类型

  • 表现层做返回值的时候

​ 查询类全部的返回R全部用ture和对象,因为一定会查到

​ 查询单个数据有可能不返回true

  • 而增删改类的不一定能影响数据

    修改删除类的返回R,根据Service层影响数据来设置flag,不用设置data数据值

  • 1.黑马Springboot基础篇笔记_第49张图片

    1.黑马Springboot基础篇笔记_第50张图片

    1.黑马Springboot基础篇笔记_第51张图片

4. 前后端调用⭐️

4.1 Ajax发送异步请求

1.黑马Springboot基础篇笔记_第52张图片

1.黑马Springboot基础篇笔记_第53张图片

4.2 新增操作

  • 清理表单数据操作进行的地方:

    ①每次打开新增数据弹窗的时候

1.黑马Springboot基础篇笔记_第54张图片

1.黑马Springboot基础篇笔记_第55张图片

1.黑马Springboot基础篇笔记_第56张图片

1.黑马Springboot基础篇笔记_第57张图片

4.3 删除操作

  • 要考虑删除失败的情况,因为存在并发删除情况

  • 1.黑马Springboot基础篇笔记_第58张图片

    1.黑马Springboot基础篇笔记_第59张图片

4.4 修改操作

  • 列表功能(回显数据) + 新增功能组合

  • 一定要注意变量弹窗属性

  • 调用方法一定为PUT,逻辑与增加数据一样

  • 注意点:

    1.黑马Springboot基础篇笔记_第60张图片

    1.黑马Springboot基础篇笔记_第61张图片

1.黑马Springboot基础篇笔记_第62张图片

4.5 异常处理⭐️

  • 对所有的异常统一成一样的格式

1.黑马Springboot基础篇笔记_第63张图片

  • 后台异常处理:

    1.黑马Springboot基础篇笔记_第64张图片

  • 前后台消息格式统一

    1.黑马Springboot基础篇笔记_第65张图片

    1.黑马Springboot基础篇笔记_第66张图片

  • 总结:前后端无论是异常还是提示信息,都交给R中的msg处理,这样实现了提示消息的统一

  • debug错误:

    image-20230323165250597

1.黑马Springboot基础篇笔记_第67张图片

4.6 分页操作⭐️

  • BUG:

  • 1.黑马Springboot基础篇笔记_第68张图片

  • 正常处理

  • 总结

    1.黑马Springboot基础篇笔记_第69张图片

    1.黑马Springboot基础篇笔记_第70张图片

    1.黑马Springboot基础篇笔记_第71张图片

1.黑马Springboot基础篇笔记_第72张图片

1.黑马Springboot基础篇笔记_第73张图片

1.黑马Springboot基础篇笔记_第74张图片

  • 删除BUG

  • 产生:

    1.黑马Springboot基础篇笔记_第75张图片

  • 处理:

  • 这条方法还是存在问题,如果删除的数据比较多,那么还是存在最大页码问题

  • 1.黑马Springboot基础篇笔记_第76张图片

4.7 按条件查询

  • 思路:将条件查询当成分页中的一部分数据

  • 就是将页面上数据收集,然后组织成参数,用selectPage(page,wrapper)处理即可

  • 1.黑马Springboot基础篇笔记_第77张图片

  • 1.黑马Springboot基础篇笔记_第78张图片

    1.黑马Springboot基础篇笔记_第79张图片

1.黑马Springboot基础篇笔记_第80张图片

1.黑马Springboot基础篇笔记_第81张图片

4.8 总结

据比较多,那么还是存在最大页码问题

  • [外链图片转存中…(img-vTD67pC3-1681703463508)]

4.7 按条件查询

  • 思路:将条件查询当成分页中的一部分数据

  • 就是将页面上数据收集,然后组织成参数,用selectPage(page,wrapper)处理即可

  • [外链图片转存中…(img-v10seFRP-1681703463509)]

  • [外链图片转存中…(img-n9vKtdps-1681703463509)]

    [外链图片转存中…(img-MZMmeMW1-1681703463510)]

[外链图片转存中…(img-VEpOtQwF-1681703463511)]

[外链图片转存中…(img-Ry9xwjEZ-1681703463511)]

4.8 总结

1.黑马Springboot基础篇笔记_第82张图片

你可能感兴趣的:(SpringBoot笔记,spring,boot,笔记,java)