SpringBoot基础篇和运维篇

news2024/11/25 2:32:11

目录

parent

 starter

引导类

​编辑

辅助功能

REST开发

 REST简介

入门案例:

1、设置http请求方式​编辑

 2、设置请求参数

知识点:

1,@RequestMapping

2、@PathVariable注解 

3、三个有关页面请求参数的注解 

 4、REST风格的注解简化(@RestController,@PostMapping……)

基本配置

1,默认配置文件

 2,修改基本配置

 3,总结​

 3,3种配置文件的格式

 4,配置文件加载优先级

 5,指定springboot的配置文件(解决idea不能提示代码问题)

6,YAML格式配置文件

和其他格式配置文件对比

 yaml语法

声明数据

 字面值表示方法​编辑

数组和对象数组 ​编辑

 读取yaml的数据

基本数据类型的读取

配置文件中变量引用和转义符的使用 

读取yaml全部属性数据 

 引用类型属性数据

 整合第三方技术

1,整合JUnit​编辑 ​

 步骤:​

测试类找不到引导类问题

 2,整合MyBatis

1,创建项目 

2, 勾选需要的技术(实际是帮助导入依赖)​

 3,设置数据源信息

 4,编写接口(注解和xml文件实现都可以)​

 5,测试​

 3,整合Mybatis-Plus

1,手动引入坐标

2, 定义数据层接口与映射配置,基础BaseMapper​

 3,整合Druid(德鲁伊)

 使用druid配置数据源​

 总结

基于SpringBoot的SSMP整合案例

(一)初始化工程

1,导入必要的坐标,修改配置文件和访问端口​编辑

2,配置MybatisPlus数据源信息

3,开启MybatisPlus的日志(方便调试)

 (二)分页功能的实现

1,创建拦截类(不创建,分页功能不能实现)

2,设置分页信息,获取分页信息 

​编辑 3,总结​

(三)模糊查询

1,创建查询条件对象

 2,动态拼写的实现​编辑

 3,总结 

业务层开发

1,继承通用接口,实现业务层快速开发

 2,接口中,追加自己的业务逻辑方法​编辑

 3,实现追加功能

 4,总结​

表现层实现

1,接口实现​

 2,前后端消息一致性处理 (返回结果模型类的使用)

 前端请求​编辑

基于业务需求维护删除功能

运维实用篇

 打包

 执行项目

解决端口被占用问题 

临时属性设置(启动项目时)

 1,使用时间:

3,在idea设置中设置临时属性​编辑

4, 阻止设置临时参数

 配置文件4大级别

1,级别

2, properties和yml文件同时存在问题

 3,总结​

自定义配置文件

1,改名​

 2,指定路径​

 3,多配置文件​

 3,重要说明

​编辑 4,总结 

 多环境开发

1,yaml版---单文件版

 格式问题:

 总结

 2,yaml版--多文件版

多文件命名规则:

 文件书写技巧:

 总结:

3,properties版--多文件版

使用:

 properties类型配置只支持多文件格式多环境配置:

 4,多环境分组管理

简介:

 group属性的使用:​编辑

总结: 

 多环境开发控制

1,pom.xml文件中配置环境:

2,引用pom.xml配置的属性 

3, 打包后,项目jar包,即可生成使用对应的配置 

 4,总结

日志

1,日志作用:

2,添加日志记录操作:

3,六个日志级别:

 4,配置文件中设置日志输出级别 :

 5,日志组的使用:​编辑

6,总结

 7,快速创建日志对象(注解的使用)

​编辑

 8,日志输出格式控制 

默认格式:​编辑

 设置日志格式:

9,文件记录日志


7月27号开始 

四个学习阶段

定位和学习目标

基础篇前置知识

入门程序开发 

SpringBoot用到的技术:

parent

pom.xml配置文件中的parent继承版本管理 

 starter

starter是同一版本依赖文件(技术)的封装,

 

引导类

P10

辅助功能

1、SpringBoot内嵌Tomcat服务器

2、切换默认依赖

 3、SpringBoot内置的服务器有三个

4、总结

REST开发

 REST简介

入门案例:

1、设置http请求方式

 2、设置请求参数

知识点:

1,@RequestMapping

2、@PathVariable注解 

3、三个有关页面请求参数的注解 

  1. @RequestBody:实体数据(在请求体)
  2. @RequestParem:路径参数(在请求url参数部分,即?后面)
  3. @PathVariable:路径变量(在url中)

 

 4、REST风格的注解简化(@RestController,@PostMapping……)

 @PostMapping是指定请求方式为POST的RequestMapping注解,所以后面可以跟路径。

注意:下面备注错了,@RestController==@RespondBody + @Controller

基本配置

1,默认配置文件

 2,修改基本配置

 官方配置文档:Common Application Properties (spring.io)https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties

 3,总结

 3,3种配置文件的格式

 4,配置文件加载优先级

 5,指定springboot的配置文件(解决idea不能提示代码问题)

 

6,YAML格式配置文件

和其他格式配置文件对比

 yaml语法

声明数据

核心规则:数据前面要加空格与冒号分开

 1,字面值表示方法

注意:

    数值型字符串一般不建议不用“”括起来,因为boot同时支持二进制,八进制和十六进制。当你passwor:0127时,你以为数据库获取的是“0127”密码字符串,其实变成了“87”。因为boot以为0127是八进制,所以转成了87再转String,所以数据库验证的密码为“87”,导致密码错误。

八进制数据格式:0***

十六进制数据格式:0x*****

2,数组和对象数组 

 读取yml的数据

基本数据类型的读取

配置文件中变量引用和转义符的使用 

在配置文件中使用转义符 \ (默认情况不起效,要把转移的内容放在“”中才起作用)

读取yaml全部属性数据 

 引用类型属性数据

1,配置文件设置数据 

2,声明实体

3,使用

 

 整合第三方技术

1,整合JUnit 

 步骤:

测试类找不到引导类问题

注意:测试类要在引导类同级目录或者其子目录下(main和test目录结构不同)才能正常执行,否则报错(找不到配置类)

解决:指定引导类(因为引导类中已经囊括SpringBootConfiguration注解),设置classes属性 。

 

 2,整合MyBatis

1,创建项目 

2, 勾选需要的技术(实际是帮助导入依赖)

 3,设置数据源信息

 

 4,编写接口(注解和xml文件实现都可以)

 5,测试

 3,整合Mybatis-Plus

注意: 导入mybatis-plus坐标后,不需要再导入mybatis坐标

1,手动引入坐标

2, 定义数据层接口与映射配置,基础BaseMapper

 

 3,整合Druid(德鲁伊)

 使用druid配置数据源

 总结

 

基于SpringBoot的SSMP整合案例

(一)初始化工程

1,导入必要的坐标,修改配置文件和访问端口

2,配置MybatisPlus数据源信息

 

 P37

3,开启MybatisPlus的日志(方便调试)

 (二)分页功能的实现

1,创建拦截类(不创建,分页功能不能实现)

@Configuration
public class MPConfig {
    @Bean
    public MybatisPlusInterceptor plusInterceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        //添加分页相关的拦截器
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        //还可以再添加其他的拦截器
        return mybatisPlusInterceptor;
    }
}

2,设置分页信息,获取分页信息 

 3,总结

(三)模糊查询

1,创建查询条件对象

 2,动态拼写的实现

 3,总结 

业务层开发

1,继承通用接口,实现业务层快速开发

 2,接口中,追加自己的业务逻辑方法

 3,实现追加功能

 4,总结

表现层实现

1,接口实现

 2,前后端消息一致性处理 (返回结果模型类的使用)

 前端请求

 

 

 发送添加请求(Resful风格,请求方式post) 

基于业务需求维护删除功能

当最后一页数据,只有一条数据时,如果它被删除,会出现刷新页面没有数据的效果,通过下面方法解决

模糊查询

 双向绑定元素

获取参数和发送请求

运维实用篇

学习目标:

 打包

 执行项目

 

解决端口被占用问题 

 p56

临时属性设置(启动项目时)

 1,使用时间:

2,例子:

3,在idea设置中设置临时属性

4, 阻止设置临时参数

 配置文件4大级别

1,级别

2, properties和yml文件同时存在问题

 经测试,当这两个配置文件同时存在时,yml配置文件级别更高,会覆盖properties的配置

 

 3,总结

自定义配置文件

 

1,改名

 2,指定路径

 3,多配置文件

 3,重要说明

 4,总结 

 多环境开发

1,yaml版---单文件版

 格式问题:

 总结

 2,yaml版--多文件版

多文件命名规则:

 文件书写技巧:

 总结:

 

3,properties版--多文件版

使用:

 properties类型配置只支持多文件格式多环境配置:

 4,多环境分组管理


简介:

 group属性的使用:

总结: 

 多环境开发控制

1,pom.xml文件中配置环境:

2,引用pom.xml配置的属性 

3, 打包后,项目jar包,即可生成使用对应的配置 

 4,总结

日志

1,日志作用:

2,添加日志记录操作:

3,六个日志级别:

 4,配置文件中设置日志输出级别 :

 5,日志组的使用:

6,总结

 7,快速创建日志对象(注解的使用)

@Slf4j注解的使用需要导lombok坐标

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

 8,日志输出格式控制 

默认格式:

 设置日志格式:

%d:时间

%p:日志级别

%n:换行

%clr():添加颜色,默认绿色

%clr(){red}:红色

%clr(){cyan}:青色

%c:类名

%m:日志信息

%t:运行所在线程

9,文件记录日志

 

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

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

相关文章

基于数字孪生技术在水电站的探索应用

数字孪生技术作为一种新的技术趋势&#xff0c;日益被千行百业产业所重视。那么&#xff0c;是否可以使用数字孪生技术来构建一个数字孪生水电站&#xff1f;让传统的水电行业也能把握住最新的数字技术的发展趋势&#xff0c;促进水电事业的发展呢。 基于数字孪生技术在水电站 …

三、解构赋值、函数默认值、数组解构、对象解构

三、解构赋值、函数默认值、数组解构、对象解构 函数传参为undefined/不传值&#xff0c;解构赋值时值为undefined/不传值时&#xff0c;都可以去取自己定义的默认值。 一、函数默认值 1.1 函数默认值 ES5语法函数参数赋默认值 function foo(a, b){var a typeof(argument…

11.Linux文件管理命令---diff比较两个文件

11.Linux文件管理命令—diff比较两个文件 文章目录diff比较两个文件练习案例diff比较两个文件 作用&#xff1a;找出两个文件的不同点。 用法&#xff1a;diff [选项] 源文件 目标文件 主要选项如下。 下面是 GNU 所接受的 diff 所有选项的概要。大多数选项有两个相同的名字&…

单机模拟集群(三主两从)

引言 操作系统环境&#xff1a;Ubuntu 20.04 Redis版本&#xff1a;6.2.8 准备工作 如果已经安装过了&#xff0c;找到自己的安装路径。如果没有安装过&#xff0c;去官网下载 当前最新版本是7.0&#xff0c;我这里用的是6.0&#xff0c;下载 redis-6.2.8.tar.gz&#xff0c…

CAPL学习之路-测试功能集函数(测试报告部分)

测试功能集函数用于测试用例的实现,主要使用场景在test module和test unit模块的capl中 。所以千万不要在网络节点的CAPL脚本中使用,不然会报错。比如TestWaitForTimeout()函数,等待指定的时间 在网络节点的capl脚本中使用时会报错: 在test module节点的capl脚本中使用时正…

SpreadJS集算表联动数据透视表,高效实现前端数据多维分析

在做一些财务、供应链、资产管理等系统时&#xff0c;由于业务人员线下都是采用Excel来完成的&#xff0c;因此就需要将Excel中业务人员使用的功能都能在Web端系统实现&#xff0c;整体上的实现方案有三种&#xff1a; 完全自研一套具备Excel功能的组件&#xff1b;使用成品软…

Linux-tar打包与解压命令

tar命令位于/bin目录下&#xff0c;它能够将用户所指定的文件或目录打包成一个文件&#xff0c;但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件&#xff0c;再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。 常用参数&#xff1a; -c&a…

布隆过滤器【美与不美之谈】

什么是布隆过滤器 布隆过滤器其实本质上来讲就是一种巧妙的数据结构&#xff0c;特点就是高效的插入和查询。 它能告诉我们&#xff1a;什么一定不存在&#xff0c;或者什么可能会存在 总结&#xff1a;布隆过滤器是概率性的。它只能告诉我们什么一定不存在&#xff0c;或者…

科技向“实”万物生长,2023年云计算五大技术趋势展望

科技云报道原创。 近日&#xff0c;全球最大的专业技术组织IEEE(电气电子工程师学会)发布了《IEEE全球调研&#xff1a;科技在2023年及未来的影响》。根据相关调研显示&#xff0c;云计算(40%)、5G(38%)、元宇宙(37%)将成为影响2023年最重要的技术&#xff0c;其中云计算位居首…

算法---模拟(2)

目录 一、模拟算法题目 &#xff08;1&#xff09;神奇的幻方 &#xff08;2&#xff09;Proceting the Flower &#xff08;3&#xff09;排座椅 &#xff08;4&#xff09;国王的游戏 &#xff08;5&#xff09;字典序最大的子序列 一、模拟算法题目 &#xff08;1&…

Spring源码下载

一、Spring | Home 二、Projects->Spring Framework 三、点击小猫图片进入Spring Framework的代码仓 四、选择感兴趣的分支

如何实现高性能点赞(二)

1.3 Redis 的数据结构类型 Redis 可以存储键与5种不同数据结构类型之间的映射&#xff0c;这5种数据结构类型分别为String&#xff08;字符串&#xff09;、List&#xff08;列表&#xff09;、Set&#xff08;集合&#xff09;、Hash&#xff08;散列&#xff09;和 Zset&…

Mac M2芯 超详细k8s集群实战 - kubeadm

概述 我们准备搭建kubeadm的masterworker集群&#xff0c;实现k8s集群&#xff0c;master、worker在虚拟机上来执行&#xff0c;中间遇到了超级多的坑&#xff0c;都搞定了之后&#xff0c;在这里系统的总结一下&#xff0c;这也是一篇学习笔记。 这篇比较难搞&#xff0c;如…

【网络安全】Fastjson的反序列化漏洞复现

1.漏洞概述 Fastjson提供了autotype功能&#xff0c;允许用户在反序列化数据中通过“type”指定反序列化的类型&#xff0c;Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分getter方法&#xff0c;那么当组件开启了autotype功能并且反序列化不可信数据时&…

qt简单UI使用

geometry设置窗口大小 font字体大小 text改文件名

本地使用隧道或代理访问云服务器数据库

本地使用代理访问云服务器数据库 场景&#xff1a; 项目的测试环境是部署至云服务器上的&#xff0c;有时候云服务器的项目测试出现了一些问题&#xff0c;为了方便复现就在本地直连云服务器的数据库&#xff08;mysql服务器&#xff09;。但是云服务器是有三台机子&#xff0…

性能测试工程师技术履历表

技术履历表 基本情况 姓名 XXX 年龄 26 性别 男 工作年限 3-4 岗位 性能测试工程师 毕业院校和专业 武汉软件工程职业学院 学历 大专 技能评价 1、熟悉基于Http&#xff0c;TCP等协议的脚本开发。 2、 熟练掌握&#xff1a;Loadrunner等压测工具。 3、 掌握Linu…

Echosync 一款优秀的文件夹同步和备份软件

Echosync 一款优秀的文件夹同步和备份软件 通过执行差异数据备份、文件同步&#xff0c;这样可以避免传递自上次备份以来所做的更改&#xff0c;Echosync能够检测到移动或重命名自上次备份的文件。 下载 Echosync 软件介绍 VHD中备份文件 你的文件可以保存到单个 VHD 文件…

RK3568 ov5695摄像头

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、什么是mipi接口&#xff1f;二、摄像头是如何把数据给到RK3568,又是如何处理硬件连接关系图&#xff1a;图像数据的来龙去脉代码路径三、如何移植修改设备树…

高通开发系列 - 数字和模拟codec驱动

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 MSM89XX音频硬件框架Linux kernel驱动LPASS的地址空间PM和PMI的区别PM8953简介Slave ID从设备idPM89xx中的模拟codec驱动准备codec的驱…