[Spring] SpringBoot基本配置与快速上手
🌸个人主页:https://blog.csdn.net/2301_80050796?spm=1000.2115.3001.5343
🏵️热门专栏:
🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm=1001.2014.3001.5482
🍕 Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm=1001.2014.3001.5482
🧀Java EE(96平均质量分) https://blog.csdn.net/2301_80050796/category_12643370.html?spm=1001.2014.3001.5482
🍭MySql数据库(93平均质量分)https://blog.csdn.net/2301_80050796/category_12629890.html?spm=1001.2014.3001.5482
🍬算法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12676091.html?spm=1001.2014.3001.5482
感谢点赞与关注~~~
🍃 从今天开始,Spring板块正式开始更新,欢迎订阅~~
目录
- 1. 环境准备
- 2. Maven
- 2.1 什么是Maven
- 2.2 创建一个Maven项目
- 2.3 Maven的核心功能
- 2.3.1 项目构建
- 2.3.2 依赖管理
- 2.4 Maven Help插件
- 2.5 Maven仓库
- 2.5.1 坐标
- 2.5.2 仓库
- 2.6 为Maven设置国内源
- 3. 第一个SpringBoot程序
- 3.1 什么是SpringBoot
- 3.2 创建SpringBoot项目(以专业版为例)
- 3.3 项目代码与目录介绍
- 3.3.1 项目目录
- 3.3.2 pom文件
- 3.4 通过SpringBoot项目输出Hello World
- 3.5 SpringBoot内置的Web服务器
1. 环境准备
社区版: 2021.1-2022.1.4
专业版:无要求
这里推荐大家在某东或者某宝上去找一个专业版的破解器,社区版在后期配置maven插件的时候可能会出现卡死的情况.而专业版就不会.
如果自己电脑上的社区版idea不在这个范围中,就要卸载重新安装.具体步骤可参考:
如何彻底卸载idea
在卸载idea的时候,注意一定不要忘记把注册表和残留的文件也一起卸载.
2. Maven
2.1 什么是Maven
Maven是一个项目管理工具.Maven可以通过一小段描述信息来管理项目构建,报告和文档的项目管理工具软件.
比如在我们前期学习mysql的时候,我们要想通过idea实现jdbc编程,我们就必须去中央仓库中下载mysql与idea的连接驱动程序,这样才可以通过mysql提供的API接入idea的jdbcAPI以便操作数据库.这个文件的格式是.jar文件的格式,但是我们现在有了Maven,我们就没有必要在去中央仓库去下载这个.jar文件了,我们可以直接在pom.xml文件中配置获取jar包,而不是手动添加.
2.2 创建一个Maven项目
注:这里展现的是专业版界面

在创建java项目中,构建系统一栏选择Maven即可.
2.3 Maven的核心功能
主要体现在两个方面:
- 构建项目
- 管理依赖
2.3.1 项目构建
当我们开发了一个项目之后,代码需要经过编译,测试,打包等流程,每次代码的修改都需要经过这些流程,如果反复进行调试修改,这个流程就要反复进行,就非常麻烦,而Maven给我们提供了一套简单的命令来完成项目的构建.

比如package操作,就是打包操作.package把所有的class文件全部打包为jar包或者是war包.

2.3.2 依赖管理
上面说到,Maven是一个项目管理工具,通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,获取的jar包,其实就是依赖.依赖不一定是jar包,也可以是项目.
-
依赖配置
那么如何在pom文件中引入依赖呢?比如我们要引入mysql-connector-java:- 我们首先在pom文件中添加新标签
<dependcies>标签.
<dependencies> <!--⾥⾯放置项⽬的依赖坐标, 可为多个 --> </dependencies>- 之后在
<dependcies>标签中添加依赖坐标.
所谓依赖坐标就是在中央仓库中可以定位到唯一依赖的信息.这个依赖坐标在中央仓库搜索某个jar文件之后会自动生成,可以复制粘贴.

<dependencies><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency> </dependencies>- 之后点击刷新按钮,(注意:只要pom文件有更新都要点击刷新)就可以在项目一栏中看到扩展库.


- 我们首先在pom文件中添加新标签
-
依赖传递
早期我们没有使用maven时,向项目中添加依赖的jar包,需要把所有的jar包都复制到项目工程下.
比如A依赖B,B依赖C,那么A项目引入B的同时,也需要引入C,如果我们手动管理这个依赖,这个过程
就会比较麻烦,我们需要知道每个库都依赖哪些库,以及这些依赖之间的版本是如何关联的.
就比如下面这个图:

比如我们要依赖项目B和jarA,我们手动导入项目和jar包时, 我们就必须把项目B和jarA下面依赖的所有项目和jar包全部导入进来.就比如我们要在家里吃一次火锅,此时我们需要知道用什么样的锅,需要什么样的配菜,需要什么样的食材等.
但是我们要是使用Maven的话,就可以避免管理所需依赖的关系。我们只需要在pom文件中,定义直接依赖就可以了,由于maven的依赖具有传递性,所以会自动把所依赖的其他jar包也⼀起导入.
这时候我们只需要叫一个海底捞的外卖,海底捞就会把锅,食材和配菜全部一股脑打包送过来.非常方便.
比如上图,Maven在导入项目B和jarA的依赖的时候,就会自动把下面所有依赖的项目和jar包全部导入进来.
JarA和项目B就是项目的直接依赖.
JarB,JarC是间接依赖. -
依赖冲突
还是上图的依赖关系,如果没有使用Maven的情况下,jarC的版本一个是1.0版本,而另一个是2.0,此时就会产生依赖冲突.
而如果我们引入了Maven的话,Maven有一项功能叫做依赖调解.
所谓依赖调解就是:当项目中的依赖存在依赖冲突的时候,Maven会采用最短路径优先的原则去依赖,例如:
A->B->C->X(1.0)
A->D->X(2.0)
由于2.0版本的路径是最短的,所以Maven会优先使用第二条路径中2.0版本的依赖. -
依赖排除
还是上面那个图,比如我们在Maven中写入项目B和jarA的依赖.但是我们不想要jarA下的jarB,此时我们就可以通过依赖排除的方式来实现.
<dependencies><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version><exclusions><!-- 添加需要排除的依赖--></exclusions></dependency></dependencies>
2.4 Maven Help插件
当项目比较复杂时,我们就会有Jar包冲突的问题,这时候就需要去解决依赖冲突.解决冲突之前,需要先找到冲突,我们可以使用MavenHelp插件来观察包和包之间的依赖关系.
理解插件:
有请助教:小乔,兰陵王
小乔这个英雄具有很高的伤害,本身是一个非常好的英雄,但是也有一些缺点,就是惧怕兰陵王.某一天,策划给小乔的大招加上了如下的被动效果:在小乔大招范围内的敌人会暴露视野,就相当于给小乔加上了"插件",使得小乔更加天下无敌,不再惧怕兰陵王.
同样的道理,像IDEA这样的程序虽然功能强大,但是也无法面面俱到.对于⼀些特殊场景的功能,开发者就可以开发⼀些"插件".如果需要这个插件,就单独安装.
插件就是对程序的一些特定场景,做出一些特定的功能的扩展.
安装插件:File->Settings->Plugins->搜索’MavenHelp’->找到对应插件,点击Install安装即可.

安装之后,打开pom文件,下面有一个按钮"依赖分析".点击之后."conflict"可以看到依赖冲突,"All Dependencies as Tree"可以看到各个项目以及jar之间的依赖关系.

也可以右键之后点击"exclude"排除指定的依赖.

2.5 Maven仓库
上面我们解释了如何通过Maven导入依赖.
<dependencies><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency>
</dependencies>
2.5.1 坐标
这个代码,我们称之为"坐标",也就是唯一的.
在Maven中,根据groupId(组织ID)、artifactId(文件ID)、version(版本)的配置,来唯一识别⼀个jar包,缺⼀不可.
在我们点击刷新之后,Maven就会根据坐标去仓库中寻找jar包.
类似于我们去菜鸟驿站取快递.会给你一个取件码,之后你就会拿着取件码在货架上找你的快递.
2.5.2 仓库
我们拿到坐标之后,需要在仓库中找到这个jar包.所谓的仓库,就是用于存储各种资源,管理各种jar包的地方.
Maven仓库分为两大类:本地仓库和远程仓库.其中远程仓库又分为中央仓库,私服和其他公共库.
- 本地仓库
本地仓库其实就是个人计算机中的一个目录.(目录中存储的是一些jar包)
当项目通过Maven引入依赖之后,首先会查找本地仓库中是否有对应的jar包.
• 如果有,则在项目直接引用
• 如果没有,则去中央仓库中下载对应的jar包到本地仓库.(也就是说,本地仓库中的jar包都是从中央仓库中来的)

本地仓库地址可以通过Maven配置查看.

在该目录下,可以看到有很多的jar.

- 中央仓库
maven软件中内置⼀个远程仓库地址,就是中央仓库,服务于整个互联网.由Maven团队维护,全球唯⼀.
仓库地址1:https://mvnrepository.com这个网站查找和下载比较方便,有图形化界面.其中生成jar的坐标也在这个网站上生成.
仓库地址2:https://repo1.maven.org/maven2/这个网站更新最及时,也最官方.
如何在仓库中查找jar的坐标呢?比如我们搜索mysql的jar.- 搜索mysql关键字.

- 选择列表中需要依赖的jar

- 选择版本,之后就会生成坐标.

- 搜索mysql关键字.
- 私有服务器/私有仓库
私服:一般由公司团队搭建的私有仓库.
私服往往需要一定的权限.
有了私服之后,Maven依赖jar包的顺序又会有所变化.

- 先从本地仓库获取,本地仓库存在,则直接返回
- 如果本地仓库没有,就从私服请求,私服存在该资源,就直接返回
- 如果私服上不存在该资源,则从中央仓库下载,中央仓库不存在,就报错了…
2.6 为Maven设置国内源
因为中央仓库在国外,所以就使得从中央仓库往本地仓库下载的时候比较慢.这时候就需要国内的一些平替的公开仓库来代替,这就需要我们把远程仓库设置为国内源.
- 首先找到当前项目的用户设置文件,明确它的路径.

不同电脑的路径是不一样的,路径可以任意修改,但是需要注意的是修改的路径中不要有中文. - 打开资源管理器,找到对应的文件.
- 使用记事本或者其他的工具打开.
- 在
<mirrors>结点上,添加如下内容:
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>
之后把原来的<mirror>屏蔽掉

5. 为新项目设置用户设置文件,为了创建新项目之后也使用的是国内源,我们需要重新设置新项目的用户设置文件.(文件->新建项目设置->新项目的设置->用户设置文件)

把用户设置文件和刚刚设置好的用户设置文件的路径改成一样的.

3. 第一个SpringBoot程序
3.1 什么是SpringBoot
首先,什么是Spring?
Spring让Java程序更加快速,简单和安全.Spring对于速度、简单性和生产力的关注使其成为世界上最流行的Java框架.

Spring官方提供了很多开源的项目,覆盖范围从Web开发到大数据,Spring发展到了今天,已经形成了自己的生态圈.我们在开发时,也倾向于使用Spring官方提供的技术,来解决对应的问题.
之后,什么是SpringBoot?SpringBoot的诞生是为了简化Spring的开发的.也就是说,Spring让Java的开发有了一个质的飞跃,而SpringBoot让Spring的开发又有了一个质的飞跃.
3.2 创建SpringBoot项目(以专业版为例)
- 点击文件->新建,之后把项目类型设置为Maven.组别ID,项目名称,工件(项目ID),软件包名称任意,java版本选择17,打包方式选择jar,jdk选择jdk17

- 下一步,点击web,选择Spring web,点击创建即可.

- 第一创建SpringBoot项目之后,会在右下角的位置询问是否下载Maven相关配置文件,这时一定要选择下载,这时idea就会从中央仓库中下载Spring的相关插件,下载之后,会在"外部库"一栏出现很多第三方插件.

3.3 项目代码与目录介绍
3.3.1 项目目录

SpringBoot项目主要有两个目录:
- src/main/java:Java源代码
- src/main/resources:为静态资源或配置文件:
- /static:静态资源文件夹,如js,html,css等.
- /templates:模版资源文件夹,主要存放动态模板文件,比如JSP,Freemarker,Thymeleaf等需要服务器动态渲染数据的文件
- src/test/java:测试代码源代码
- target:编译后的文件路径(.class文件)
- pom.xml:maven配置文件
注:一开始的时候,可能源代码和测试代码都是不可运行的格式.这时就需要我们对目录进行标记,比如main中的源代码,对java目录右键->将目录标记为->源代码根目录.

测试源代码是同样的道理.
3.3.2 pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.1</version> <!--统一管理版本,下面的依赖默认都是这个版本--><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><!-- SNAPSHOT表示非稳定版本,可能会发生变化,在发布上线这个代码的时候,需要把这个SNAPSHOT删掉 --><name>demo</name><description>demo</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--这个依赖在创建项目选择Spring Web的时候,就自动加入了该依赖,表示这个项目可以通过浏览器访问--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><!-- 后续打包的时候会依赖的一段代码,如果没有这段代码,只会打包源代码根目录中的java文件,这时候项目是无法运行的,如果有了这段代码,就会把第三方插件也打包进来,项目即可运行 --><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
3.4 通过SpringBoot项目输出Hello World
在我们前面输出Hello World的时候,没办法直接和浏览器互动,所以我们接下来要使用SpringBoot项目来实现和浏览器的交互.
在源代码更目录下创建一个类,实现代码如下:
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoController {@RequestMapping("/hello")//可以理解为资源路径public String hello() {return "Hello World";}
}
之后运行DemoApplication文件.

之后我们打开浏览器,输入如下地址:http://127.0.0.1:8080/hello,即可在浏览器上看见Hello World.其中127.0.0.1代表本机的IP地址,8080表示端口号,hello表示资源路径.

3.5 SpringBoot内置的Web服务器
前面我们在学习http协议的时候,知道了HTTP协议就是HTTP客户端和HTTP服务器之间的交互数据的格式.我们想要进行网络通行,我们就必须进行套接字编程.
而SpringBoot中自带了Web服务器,这个Web服务器叫做Tomcat服务器,这个服务器对http协议进行了封装,程序员没有必要再进行网络套接字编程,让Web开发更加便捷.

相关文章:
[Spring] SpringBoot基本配置与快速上手
🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…...
tomcat的优化、动静分离
tomcat的优化 tomcat自身的优化 tomcat的并发处理能力不强,大项目不适应tomcat做为转发动态的中间件(k8s集群,pytnon rubby),小项目会使用(内部使用的)动静分离 默认配置不适合生产环境&…...
Python与自动化脚本编写
Python与自动化脚本编写 Python因其简洁的语法和强大的库支持,成为了自动化脚本编写的首选语言之一。在这篇文章中,我们将探索如何使用Python来编写自动化脚本,以简化日常任务。 一、Python自动化脚本的基础 1. Python在自动化中的优势 Pyth…...
树与二叉树
前言: 树这个结构想必在日常生活中很常见到,而现在要介绍的是一种独特的数据结构--二叉树。 1.树 (1)定义: 是一种非线性结构,有一个特殊的节点叫做根节点,树没有前驱节点;树是递…...
SpringBoot+Vue实现简单的文件上传(Excel篇)
SpringBootVue实现简单的文件上传 1 环境 SpringBoot 3.2.1,Vue 2,ElementUI 2 页面 3 效果:只能上传xls文件且大小限制为2M,选择文件后自动上传。 4 前端代码 <template><div class"container"><el…...
科研绘图系列:R语言金字塔图(pyramid plot)
介绍 金字塔图(Pyramid chart)是一种用于展示人口统计数据的图表,特别是用于展示不同年龄段的人口数量。这种图表通常用于展示人口结构,比如性别和年龄的分布。 特点: 年龄分层:金字塔图按年龄分层,每一层代表一个年龄组。性别区分:通常,男性和女性的数据会被分别展…...
Tomcat多实例
一、Tomcat多实例 Tomcat多实例是指在同一台服务器上运行多个独立的tomcat实例,每个tomcat实例都具有独立的配置文件、日志文件、应用程序和端口,通过配置不同的端口和文件目录,可以实现同时运行多个独立的Tomcat服务器,每个服务…...
前端Vue组件化实践:自定义加载组件的探索与应用
在前端开发领域,随着业务逻辑复杂度的提升和系统规模的不断扩大,传统的开发方式逐渐暴露出效率低下、维护困难等问题。为了解决这些挑战,组件化开发作为一种高效、灵活的开发模式,受到了越来越多开发者的青睐。本文将结合实践&…...
半小时获得一张ESG入门证书【详细中英文笔记一】
前些日子,有朋友转发了一则小红书的笔记给我, 标题是《半小时获CFI官方高颜值免费证书 ESG认证》。这对考证狂魔的我来说,必然不能错过啊,有免费的羊毛不薅白不薅。 ESG课程的 CFI 官方网址戳这里:CFI 于是信心满满的…...
类形断言和和类型推导的区别是什么?
类型断言(Type Assertion)和类型推导(Type Inference)在TypeScript中的区别 如下: 定义: 类型断言:是程序员明确指定一个值的类型,即允许变量从一种类型更改为另一种类型。它不会进行…...
Spring-Spring、IoC、DI、注解开发
1、Spring是什么 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。 Spring整体架构 Spring优点: Spring属于低侵入设计。IOC将对象之间的依赖关系交给Spring,降低组件之间的耦合,实现各个层之间的解耦,让我们更专注于业务…...
Facebook的未来蓝图:从元宇宙到虚拟现实的跨越
随着科技的不断演进和社会的数字化转型,虚拟现实(VR)和增强现实(AR)作为下一代计算平台正逐渐走进人们的视野。作为全球领先的科技公司之一,Facebook正在积极探索并推动这一领域的发展,以实现其…...
Redis6.2.1版本集群新加副本
测试数据 通过redis-benchmark生成测试数据 ./bin/redis-benchmark -h 172.31.4.18 -p 6381 -a Redis_6.2.1_Sc --cluster -t set -d 128 -n 10000000 -r 100000000 -c 200新加节点 172.31.4.18:6381> AUTH Redis_6.2.1_Sc OK172.31.4.18:6381> cluster meet 172.31.4…...
2.The DispatcherServlet
The DispatcherServlet Spring的Web MVC框架与许多其他Web MVC框架一样,是请求驱动的,围绕一个中央Servlet(即DispatcherServlet)设计,该Servlet将请求分派给控制器,并提供其他功能以促进Web应用程序的开发…...
bug定位策略
前提--用户环境层面 hosts异常:hosts文件主要是加快某个域名或者网站的解析速度,从而达到快速访问的作用,也可以屏蔽网站。hosts异常可能会导致部分网页无法访问,能够加载,但是网页无法正常显示;测试环境脏…...
基于R语言的水文、水环境模型优化技术及快速率定方法与多模型案例
在水利、环境、生态、机械以及航天等领域中,数学模型已经成为一种常用的技术手段。同时,为了提高模型的性能,减小模型误用带来的风险;模型的优化技术也被广泛用于模型的使用过程。模型参数的快速优化技术不但涉及到优化本身而且涉…...
内存函数(C语言)
内存函数 以下函数的头文件:string.h 针对内存块进行处理的函数 memcpy 函数原型: void* memcpy(void* destination, const void* source, size_t num);目标空间地址 源空间地址num,被拷贝的字节个数 返回目标空间的起始地…...
力扣 哈希表刷题回顾
哈希表理论总结 什么时候用哈希表,快速判断一个元素是否出现在集合中时,用哈希这种空间换时间的方法。 哈希函数与哈希碰撞 哈希函数是指将key映射到对应的哈希表上 哈希碰撞是指映射的过程中容易出现多对一的情况,用什么方法解决拉链法和…...
Qt 统计图编程
学习目标:Qt 折线图,柱形图和扇形统计图编程 学习基础 Qt QChart 曲线图表操作-CSDN博客 学习内容 Qt中绘制三种常见的图表非常方便, 主要步骤如下: 1. 折线图: - 使用QLineSeries定义折线数据,添加多个坐标点 - 使用QValueAxis创建X轴和Y轴 - 将…...
SQL中的谓词与谓词下推
在 SQL 查询中,谓词(Predicate)是用来对数据进行过滤的条件。它们决定了数据从数据库表中被选择的条件。理解和正确使用 SQL 谓词对于编写高效查询至关重要。 目录 什么是谓词?一个真实的故事SQL 谓词的代码示例比较谓词逻辑谓词…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...


