使用Gradle7.6+SpringBoot 3.0+java17创建微服务项目
系列文章目录
学习新版本,菜鸟一枚
会持续更新的
文章目录
- 系列文章目录
- 前言
- 一、搭建项目
- 1.1、创建git仓库
- 1.1.1、登录gitee,新建仓库
- 1.1.2、得到如下命令(`新建仓库使用创建git仓库 即可`)
- 1.2、使用IDEA创建项目
- 1.2.1、开发工具
- 1.2.2、后端技术
- 1.2.3、 创建gradle项目
- 1.2.4、创建子模块
- 1.2.5、修改父类 `build.gradle`文件
- 1.2.6、修改子模块 `build.gradle`文件
- 1.2.7、构建项目
- 1.2.8、上传git仓库
- 1.2.9、git 常用知识浅谈
- 二、嗯,还没想法写啥,先发送吧
- 总结
前言
求其上者得其中,求其中者得其下,求其吓着无所得。
想着系统的学习一下SpringCloud alibaba项目,做个记录。
一、搭建项目
1.1、创建git仓库
1.1.1、登录gitee,新建仓库

1.1.2、得到如下命令(新建仓库使用创建git仓库 即可)
简易的命令行入门教程:
Git 全局设置:git config --global user.name "xxx"
git config --global user.email "xxxx@126.com"
创建 git 仓库:mkdir gods
cd gods
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/xxxxxxxx/gods.git
git push -u origin "master"
已有仓库?cd existing_git_repo
git remote add origin https://gitee.com/xxxxxxx/gods.git
git push -u origin "master"
现在去打开IDEA去创建项目,记住 项目名称要跟本地的一致哦
1.2、使用IDEA创建项目
1.2.1、开发工具
| 工具 | 版本 | 官网 |
|---|---|---|
| IDEA | 2022.2.4 | https://www.jetbrains.com/idea/download |
| Gradle | 7.6 | https://gradle.org/releases/ |
| Java | 17 | https://www.oracle.com/java/technologies/downloads/#jdk17-windows |
| MySQL | 8.0.32 |
1.2.2、后端技术
| 技术 | 版本 | 官网 |
|---|---|---|
| SpringBoot | 3.1.0-M1 | https://spring.io/projects/spring-boot |
| SpringCloudAlibaba | 2022.0.0.0-RC1 | https://spring.io/projects/spring-cloud-alibaba |
| SpringCloud | 2022.0.2 | https://spring.io/projects/spring-cloud |
| Mybatis-Plus | 3.5.3.1 | https://mybatis.plus/ |
1.2.3、 创建gradle项目


这里选择我们要使用的gradle7.6版本

这里可以看到我们项目创建完成后的目录结构,
删掉src目录

1.2.4、创建子模块
右键项目,创建子模块

注意是选择 New Module,别问为什么,问就是没看到踩坑了

然后以同样的方式,在去创建几个子模块,如下图

可以看到,每个子模块都生成了
build.gradle,文件类似于 pom文件
此时我们在看
settings.gradle文件,就会发现,已经自动生成了子模块引入目录

1.2.5、修改父类 build.gradle文件
buildscript{
}//插件
plugins {id 'io.spring.dependency-management' version '1.0.11.RELEASE'id 'org.springframework.boot' version '3.1.0-M1'id 'java'
}//全局项目配置
allprojects{group = 'com.example'version = '0.0.1-SNAPSHOT'apply plugin:'idea'apply plugin: 'io.spring.dependency-management'apply plugin: 'org.springframework.boot'//jar包寻找顺序从上到下repositories {mavenLocal()maven { url 'https://maven.aliyun.com/repository/public/' }maven { url 'https://maven.aliyun.com/repository/google/' }maven { url 'https://maven.aliyun.com/repository/jcenter/' }maven { url "https://mvn.getui.com/nexus/content/repositories/releases/" }maven {url 'http://mirrors.huaweicloud.com/repository/maven/'allowInsecureProtocol = true}mavenCentral()}}//子模块配置
subprojects{apply plugin:'java'// 指定JDK版本sourceCompatibility = '17'targetCompatibility = '17'[compileJava,compileTestJava,javadoc]*.options*.encoding = 'UTF-8'/// 子模块公共jar \\\dependencies{compileOnly 'org.projectlombok:lombok:1.18.26'implementation 'org.projectlombok:lombok:1.18.26'implementation 'cn.hutool:hutool-all:5.8.18'}}
1.2.6、修改子模块 build.gradle文件
archivesBaseName = 模块名称
每个子模块都是这么多初始化代码,后续根据需要引入各自需要的依赖
archivesBaseName = "gods-apollo"
dependencies {// 专属于这个模块的依赖
}
// 动态移除对kotlin构建插件的权限,避免子模块构建报错
tasks.register("prepareKotlinBuildScriptModel") {}//include 'gods-apollo'
//include 'gods-athena'
//include 'gods-Zeus'
//include 'gods-Ares'
1.2.7、构建项目
BUILD SUCCESSFUL in 2s,成功后开始同步git
1.2.8、上传git仓库
这里是引用
- 打开git,进入项目文件中
git init初始化gittouch README.md创建版本文件git status查看当前工作区文件状态git add .上传所有文件到 暂存区git commit -m " 提交注释"提交文件到本地仓库git remote add origin https://gitee.com/wan_long_bei/gods.git添加远程仓库origin,建立关联git push -u origin "master"把当前分支master推送到远程仓库origin

1.2.9、git 常用知识浅谈

PS:图片来源
workspace:工作区,平时存放代码的位置 staging
area:暂存区/缓存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息 local
repository:本地仓库,就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本 remote
repository:远程仓库,托管代码的服务器
代码从修改到提交到远程仓库,一般需要经历如下5个状态:未修改,已修改,已暂存,已提交,已推送。如下所示:
未修改原始内容
已修改 ↓ 工 作 区
已暂存 ↓ git add暂 存 区
已提交 ↓ git commit本地仓库
已推送 ↓ git push远程仓库
注意事项
git init会在项目根目录下初始化一个.git目录,git仓库必须
remote只需执行一次,yourRepository.git是你在github已有的一个仓库
.gitignore,这个文件写入所有不需要加入版本管理的文件,尤其像node_modules
二、嗯,还没想法写啥,先发送吧
总结
切勿着急,欲速则不达
| 技术 |
|---|
| 亢龙, 有悔 |
飞龙在天 , 利见大人 九五 |
| 或跃在渊, 无咎 |
| 君子终日乾乾,夕依若厉无咎 |
| 见龙在田, 利见大人 |
| 潜龙,勿用 |
相关文章:
使用Gradle7.6+SpringBoot 3.0+java17创建微服务项目
系列文章目录 学习新版本,菜鸟一枚 会持续更新的 文章目录 系列文章目录前言一、搭建项目1.1、创建git仓库1.1.1、登录gitee,新建仓库1.1.2、得到如下命令(新建仓库使用创建git仓库 即可) 1.2、使用IDEA创建项目1.2.1、开发工具1.…...
pandas使用教程:apply函数、聚合函数agg和transform
文章目录 apply函数调用apply函数描述性统计apply函数lambda自定义 聚合函数aggregate/agg用字典实现聚合 transform函数多函数 Transform 重置索引与更换标签行重置索引行和列同时重置索引 apply函数调用 apply函数描述性统计 import numpy as np df.loc[:,Q1:Q4].apply(np.…...
使用rasterio裁剪遥感影像
文章目录 0. 数据准备1. polygon的坐标系转换1.1 polygon生成1.1.1 输入数据是shapefile1.1.2 输入数据是polygon 1.2 搞清楚遥感的坐标系和polygon的坐标系(重点)1.3 开始转换 2. 基于polygon的遥感影像裁剪2.1 基础裁剪方法2.1.1 使用rasterio保存2.1.2 使用numpy保存2.2 多线…...
BetaFlight统一硬件配置文件研读之set命令
BetaFlight统一硬件配置文件研读之set命令 1. 源由2. 代码分析3. 实例分析4. 配置情况4.1 set4.2 set parameter_name4.3 set parameter_name value 5. 参考资料 统一硬件配置文件的设计是一种非常好的设计模式,可以将硬件和软件的工作进行解耦。 1. 源由 cli命令…...
QT+OpenGL高级数据和高级GLSL
QTOpenGL高级数据和高级GLSL 本篇完整工程见gitee:QtOpenGL 对应点的tag,由turbolove提供技术支持,您可以关注博主或者私信博主 高级数据 OpenGL中的缓冲区 对象管理特定的GPU内存 在将缓冲区绑定到特定的缓冲区目标时候赋予它意义 OpenGL在内部会保…...
接口测试之Jmeter+Ant+Jenkins接口自动化测试平台
目录 平台简介 环境准备 Jenkins简介 下载与安装 平台搭建 依赖文件配置 build.xml配置 Ant构建 阿里大佬倾情演绎,3天让你学会Jmeter接口测试,学不会算我输_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Q84y1K7bK/?spm_id_from333.99…...
FPGA设计中锁存器产生、避免与消除
FPGA设计中锁存器产生、避免与消除 一、锁存器的产生1.1 组合逻辑中使用保持状态1.2 组合逻辑中的if-else语句或case语句未列出所有可能性1.3 小结 二、锁存器的避免三、锁存器的消除3.1 情况一 一、锁存器的产生 锁存器的产生主要有以下两种情况:(1&…...
一份标准的软件测试方案模板
第一章 概述 软件的错误是不可避免的,所以必须经过严格的测试。通过对本软件的测试,尽可能的发现软件中的错误,借以减少系统内部各模块的逻辑,功能上的缺陷和错误,保证每个单元能正确地实现其预期的功能。检测和排…...
【C++】-对于自定义类型的输入输出运算符重载
💖作者:小树苗渴望变成参天大树 ❤️🩹作者宣言:认真写好每一篇博客 💨作者gitee:gitee 💞作者专栏:C语言,数据结构初阶,Linux,C 文章目录 前言一、案例引入二、<<的重载三、>>的…...
(详解)js中什么是宏任务、微任务?宏任务、微任务有哪些?又是怎么执行的?
目录 参考资料 必看强烈建议十分钟看完视频 ,即可学会 必看参考详解宏任务微任务 笔记 宏任务与微任务 定时器的任务编排 promise的微任务处理逻辑 DOM渲染任务 任务队列共享内存 进度条的实现 任务拆分成多个任务 promise复杂任务分割 img算同步还是异步…...
Okta 即代码:云原生时代的身份管理
我们为什么应该将 Okta 配置作为代码进行管理? 对于需要跨多个应用程序和环境管理对其数字资源的访问的组织来说,Okta 可能是最受欢迎的选择,因为它提供了一系列使其在身份验证和授权方面很受欢迎的功能,例如: 单点登…...
数据结构(六)—— 二叉树(7)构建二叉树
文章目录 如何使用递归构建二叉树1、创建一颗全新树(题1-5)2、在原有的树上新增东西(题6) 1 106 从 后序 与 中序 遍历序列构造二叉树2 105 从 前序 与 中序 遍历序列构造二叉树3 108 将有序数组转换为二叉搜索树(输入…...
安装适用于Linux的Windows11子系统(WSL2)
1. 主板BIOS开启虚拟化 开启虚拟化需要在BIOS中进行设置,进入主板BIOS→找到虚拟化设置→开启。 2. 检验是否开启虚拟化 打开Windows命令行,并运行 systeminfo固件中已启用虚拟化为是,代表主板BIOS已经开启虚拟化。 3. 启用Windows功能…...
使用Spring的五大类注解读取和存储Bean
目录 1.存储Bean对象的注解 1.1 五大类注解 1.2 方法注解 1.3添加注解的依赖 2.注解的使用 2.1 controller注解 2. 2Service注解 2.3.Resopsitory注解 2.4Component注解 2.5Configuration注解 2.6 注解之间的关系 3.方法注解 3.1 方法注解要配合类注解来使用。 3.2…...
Vue3通透教程【十一】初探TypeScript
文章目录 🌟 写在前面🌟 TypeScript是什么?🌟TypeScript 增加了什么?🌟TypeScript 初体验🌟 写在最后🌟 写在前面 专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章,应粉丝要求开始更新 Vue3 的相关技术文章,Vue 框架目前的地位大家应该都晓得,所谓…...
Linux环境安装iperf3(网络性能测试工具)
[rootlocalhost ]# yum search iperf 已加载插件:fastestmirror Loading mirror speeds from cached hostfile* base: mirrors.tuna.tsinghua.edu.cn* extras: mirrors.huaweicloud.com* updates: mirrors.tuna.tsinghua.edu.cnN/S matched: iperf iperf3-devel.i6…...
回顾第一章
回顾 Shell脚本中的$虚函数虚函数和纯虚函数 git merge/rebasegit merge特点git rebase特点 Linux内核调试——coredump获取core dump 深度测试和模板测试2D游戏的制作思路C11特性 Shell脚本中的$ $0: 脚本自身的名称; $1: 传入脚本的第一个参数; $2…...
Jupyter Notebook入门教程
Jupyter Notebook(又称Python Notebook)是一个交互式的笔记本,支持运行超过40种编程语言。本文中我们将介绍Jupyter Notebook的主要特点,了解为什么它能成为人们创造优美的可交互式文档和教育资源的一个强大工具。 首先ÿ…...
独立按键识别
项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第四章 IO口编写 参考图电路编写程序,要求实现如下功能: 开始时LED均为熄灭状态,随后根据按键动作点亮相应LED(在按键释放后能继续保持该亮灯状态,直至新的按键压下时为止…...
【论文阅读】AlphaFold2阅读笔记
摘要 给一串氨基酸的序列,去预测他的结构是什么样的 蛋白质的折叠问题 alphaFold精度不够 这里可以达到原子精度的预测 CASP14 精度 这个是什么问题是不是解决了问题 模型的结果并不重要 导论 摘要故事的详细版本 在写论文的时候,可以这样写&a…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
