1.黑马Springboot基础篇笔记

news2024/12/25 1:59:06

Springboot基础篇

1.快速上手Springboot

1.基础配置

1.parent

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

image-20230316091224272

image-20230316091241573

image-20230316091301384

2.starter

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

image-20230316091442474

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

    image-20230316091533008

image-20230316092012165

3.引导类

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

image-20230316092041184

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即可

    image-20230316093135414

    2.Springboot基础配置

1.核心配置文件

image-20230316093344575

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

2.属性配置

image-20230316093632324

3.配置文件

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

image-20230316093734003

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

    application.properties > application.yml > application.yaml

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

4.yaml文件

image-20230316095330470

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

  • 格式:

    image-20230316095429100

    image-20230316095500411

5.yaml文件读取

  • 读取单个数据规则

image-20230316100538399

  • 读取特殊要求数据规则

    image-20230316102045816

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

    image-20230316102519464

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

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

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

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

    image-20230316103550225

image-20230316104551486

image-20230316104607877

2.基于Springboot整合SSMP

1.整合Junit

  • 本质上还是Spring的测试

  • 纯手工制作步骤:

    image-20230316110747902

    image-20230316110824167

  • 自动整合

image-20230316110544446

image-20230316110601602

image-20230316110644659

1.注意classes位置⭐️

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

    image-20230316111229055

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

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

2.整合Mybatis⭐️

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

image-20230317231205194

image-20230318093922358

3.整合Mybatis-plus

image-20230318094622264

4.整合Druid

image-20230318100218525

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

image-20230318100258665

3.SSM整合案例

  • 分析

    image-20230318101204106

1.持久层:CRUD操作

1.基本流程

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

image-20230318105107564

  • image-20230318111101834

    image-20230318105221613

    image-20230318105240738

    image-20230318105306895

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

  • image-20230318111802994

3.分页功能

image-20230322141202565

image-20230322141059370

image-20230322141147460

4.条件查询

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

image-20230322142054147

image-20230322142112754

2.业务层:

  • 名称与数据层区别开来

  • 基础操作:CRUD

  • 借助mybatis快速开发Service

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

    image-20230322150931472

    image-20230322150853601

3.表现层

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

  • image-20230322163419138

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

    image-20230322164008383

image-20230322164237912

image-20230322164414248

3.1 前后端数据协议⭐️

  • Service层做操作的时候

    查询的返回结果为数据

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

  • 表现层做返回值的时候

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

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

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

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

  • image-20230322165123995

    image-20230322165147206

    image-20230322171143385

4. 前后端调用⭐️

4.1 Ajax发送异步请求

image-20230322173700593

image-20230322173747834

4.2 新增操作

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

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

image-20230322185949813

image-20230322190004544

image-20230322190136938

image-20230322190637110

4.3 删除操作

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

  • image-20230322191945571

    image-20230322192015499

4.4 修改操作

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

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

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

  • 注意点:

    image-20230323112438514

    image-20230323113209386

image-20230323161858465

4.5 异常处理⭐️

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

image-20230323162056488

  • 后台异常处理:

    image-20230323163615315

  • 前后台消息格式统一

    image-20230323164412232

    image-20230323163829656

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

  • debug错误:

    image-20230323165250597

image-20230323165926761

4.6 分页操作⭐️

  • BUG:

  • image-20230323174335609

  • 正常处理

  • 总结

    image-20230323174639411

    image-20230323174654624

    image-20230323174721278

image-20230323174813192

image-20230323171002803

image-20230323174847148

  • 删除BUG

  • 产生:

    image-20230323175910321

  • 处理:

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

  • image-20230323175354123

4.7 按条件查询

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

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

  • image-20230323192648051

  • image-20230323192703945

    image-20230323192723662

image-20230323192929293

image-20230323193000813

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 总结

image-20230323195034727

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/437589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

扬帆优配|逼近历史最高点!刚刚,A股这一板块沸腾!

今天早盘,A股整体小幅走强,上证指数创阶段性新高,并逼近年内最高点,科创50指数则大涨超2%领涨两市。 盘面上,新能源车、黄金、锂矿、建筑等板块涨幅居前,互联网、传媒娱乐、知识产权、博彩概念等板块跌幅居…

开源项目创始人的营销建议:让开源项目脱颖而出

来自开源创始人的营销建议 面对现实吧,如果你想让你的开源项目变成主业,就得投入一定的精力对它进行营销。 这并不意味着几篇空洞的文章加上夺人眼球的标题,而是要向用户清晰地传达产品的功能,并帮助他们轻松发现产品的优势。 本文…

什么是数智化招采?如何实现数智化招采(系统)?

数智化,是当今信息技术领域的一个热门话题。它的应用范围非常广泛,包括商业、医疗、科学、政府、城市、企业、社会等各个领域。随着现代信息技术的不断发展,数智化已经成为各行各业中的一个重要趋势。 什么是数智化招采 信息化是数据形成的…

ChatGPT实战100例 - (06) 10倍速可视化组织架构与人员协作流程

文章目录 ChatGPT实战100例 - (06) 10倍速可视化组织架构与人员协作流程一、需求与思路二、 组织架构二、 人员协作四、 总结 ChatGPT实战100例 - (06) 10倍速可视化组织架构与人员协作流程 一、需求与思路 管理研发团队的过程中,组织架构与人员协作流程的可视化是…

《商用密码应用与安全性评估》第一章密码基础知识1.7密码功能实现示例

保密性实现 访问控制:防止敌手访问敏感信息 信息隐藏:避免敌手发现敏感信息 信息加密:允许观测,但无法提炼信息 几种分组密码工作模式的区别: 名称全称优点缺点ECB电子密码本模式简单、快速、并行不抗重放CBC密码分组…

计算机:理解操作系统:内存篇(上)

内存篇 1. 什么是内存2. C/C内存模型2.1 代码段和数据段2.2 堆和栈 本节是操作系统系列教程的第三篇文章,属于操作系统第一章即基础篇,在真正开始操作系统相关章节前在这一部分回顾一些重要的主题,算是温故知新吧,以下是目录&…

瑞吉外卖项目——瑞吉外卖

软件开发整体介绍 软件开发流程 需求分析:产品原型、需求规格说明书 设计:产品文档、UI界面设计、概要设计、详细设计、数据库设计 编码:项目代码、单元测试 测试:测试用例、测试报告 上线运维:软件环境安装、配置…

Qt编写推流综合应用示例(文件推流/桌面推流/本地摄像头/网络摄像头/转发推流/视频分发)

一、功能特点 1.1 文件推流 指定网卡和监听端口,接收网络请求推送音视频等各种文件。实时统计显示每个文件对应的访问数量、总访问数量、不同IP地址访问数量。可指定多种模式,0-直接播放、1-下载播放。实时打印显示各种收发请求和应答数据。每个文件对…

Vivado布线和生成bit参数设置

本文主要介绍Vivado布线参数设置,基本设置方式和vivado综合参数设置基本一致,将详细说明如何设置布线参数以优化FPGA设计的性能,以及如何设置Vivado压缩BIT文件。 一、Vivado布线概述 Vivado布线是在FPGA设计中实现物理布局的关键步骤之一。…

C语言-字符串

sizeof和strlen 的区别: 区别1: 1.sizeof计算整个数组大小, 2.strlen 计算有效的数组大小 新建字符数组”hello“ char cdata[128]"hello"; printf("sizeof--cdata的长度:%d\n",sizeof(cdata)); pri…

Hive窗口函数全解

在SQL中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的。但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这…

零基础抽象MYSQL

既然完成了下载安装和密码登录,那么打开你的MYSQL MYSQL中最简单的 创建数据库、查看数据库、选择数据库、删除数据库 先从重要的创建数据库 直接输入create database data_a ; 注意了要打分号 ; 如果查看你创建的数据库 show databases &#xff…

使用 Flask 快速构建 基于langchain 和 chatGPT的 PDF摘要总结

简介 这里不对 langchain 和 chatGPT 进行介绍,仅对实现过程进行整理 环境 Python >3.8 Flask2.2.3 Jinja23.1.2 langchain0.0.143 openai0.27.4 实现 总结功能 使用 langchain 和 openai 接口实现总结功能 实现逻辑:通过text_splitter 将pdf 分…

LeetCode 501: 二叉搜索树中的众数 | C++语言版

LeetCode 501. 二叉搜索树中的众数 | C语言版 LeetCode 501. 二叉搜索树中的众数题目描述解题思路思路一:使用迭代代码实现运行结果参考文章: 思路二:减少遍历节点数代码实现运行结果参考文章: LeetCode 501. 二叉搜索树中的众数 …

Edius抠像过程(实践笔记)

最近的工作有点烦,一个月左右的时间全是在帮别人做视频的过程(在我所在的行业里,就是打杂) 因为自己不专业,所有的操作都是现学现用,前几个视频还好说,随便剪剪,就是看他们本人录的…

水务行业怎么运用智能配电

摘要:在构建智慧水务和“双碳”时代背景下,智能配电系统在水务行业中发挥日益突出的重要作用。本文首先回顾了智能配电系统在水务行业的发展历程,并对其应用现状进行了分析,进而展望了智能配电系统在水务行业的发展趋势。 关键词&…

走进小程序【五】微信小程序架构之【逻辑层】详解

文章目录 🌟前言🌟小程序架构🌟逻辑层 App Service🌟注册小程序🌟注册页面🌟使用 Page 构造器注册页面🌟在页面中使用 behaviors🌟使用 Component 构造器构造页面 🌟页面…

信创实力认证,创邻科技荣获“2023爱分析·信创产品及服务创新奖”

近日,数字化市场研究咨询机构爱分析正式发布“2023爱分析信创产品及服务创新奖”评选结果。经过申报、初评、调研、终评多轮角逐,创邻科技凭借自研产品Galaxybase国产原生高性能图平台以及国产化替代方案成功获评“2023爱分析信创产品及服务创新奖”。 据…

KDZD606绝缘服试验装置

一、产品概述 KDZD606绝缘服试验装置是按照国家电力公司关于颁发DL/T 976-2017《带电作业用工具、装置和设备预防性试验规程》的要求的基础上研制而成,本产品各项指标均符合国标的要求。可以按DL/T 976-2017《带电作业用工具、装置和设备预防性试验规程》要求对绝缘…

Nginx的漏洞浮现

本文参考https://vulhub.org/#/environments/nginx/nginx_parsing_vulnerability/ 环境搭建均是采用docker 拉取环境请移步到参考。 一、Nginx的配置错误案列 1. CRLF注入漏洞 配置错误文件error1.conf rootubuntu-virtual-machine:/vulhub/vulhub-master/nginx/insecure-confi…