当前位置: 首页 > news >正文

使用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、开发工具

工具版本官网
IDEA2022.2.4https://www.jetbrains.com/idea/download
Gradle7.6https://gradle.org/releases/
Java17https://www.oracle.com/java/technologies/downloads/#jdk17-windows
MySQL8.0.32

1.2.2、后端技术

技术版本官网
SpringBoot3.1.0-M1https://spring.io/projects/spring-boot
SpringCloudAlibaba2022.0.0.0-RC1https://spring.io/projects/spring-cloud-alibaba
SpringCloud2022.0.2https://spring.io/projects/spring-cloud
Mybatis-Plus3.5.3.1https://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仓库

这里是引用

  1. 打开git,进入项目文件中
  2. git init 初始化git
  3. touch README.md 创建版本文件
  4. git status 查看当前工作区文件状态
  5. git add . 上传所有文件到 暂存区
  6. git commit -m " 提交注释" 提交文件到本地仓库
  7. git remote add origin https://gitee.com/wan_long_bei/gods.git 添加远程仓库origin ,建立关联
  8. 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++】-对于自定义类型的输入输出运算符重载

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树 ❤️‍&#x1fa79;作者宣言&#xff1a;认真写好每一篇博客 &#x1f4a8;作者gitee:gitee &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 文章目录 前言一、案例引入二、<<的重载三、>>的…...

(详解)js中什么是宏任务、微任务?宏任务、微任务有哪些?又是怎么执行的?

目录 参考资料 必看强烈建议十分钟看完视频 &#xff0c;即可学会 必看参考详解宏任务微任务 笔记 宏任务与微任务 定时器的任务编排 promise的微任务处理逻辑 DOM渲染任务 任务队列共享内存 进度条的实现 任务拆分成多个任务 promise复杂任务分割 img算同步还是异步…...

Okta 即代码:云原生时代的身份管理

我们为什么应该将 Okta 配置作为代码进行管理&#xff1f; 对于需要跨多个应用程序和环境管理对其数字资源的访问的组织来说&#xff0c;Okta 可能是最受欢迎的选择&#xff0c;因为它提供了一系列使其在身份验证和授权方面很受欢迎的功能&#xff0c;例如&#xff1a; 单点登…...

数据结构(六)—— 二叉树(7)构建二叉树

文章目录 如何使用递归构建二叉树1、创建一颗全新树&#xff08;题1-5&#xff09;2、在原有的树上新增东西&#xff08;题6&#xff09; 1 106 从 后序 与 中序 遍历序列构造二叉树2 105 从 前序 与 中序 遍历序列构造二叉树3 108 将有序数组转换为二叉搜索树&#xff08;输入…...

安装适用于Linux的Windows11子系统(WSL2)

1. 主板BIOS开启虚拟化 开启虚拟化需要在BIOS中进行设置&#xff0c;进入主板BIOS→找到虚拟化设置→开启。 2. 检验是否开启虚拟化 打开Windows命令行&#xff0c;并运行 systeminfo固件中已启用虚拟化为是&#xff0c;代表主板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 已加载插件&#xff1a;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: 脚本自身的名称&#xff1b; $1: 传入脚本的第一个参数&#xff1b; $2…...

Jupyter Notebook入门教程

Jupyter Notebook&#xff08;又称Python Notebook&#xff09;是一个交互式的笔记本&#xff0c;支持运行超过40种编程语言。本文中我们将介绍Jupyter Notebook的主要特点&#xff0c;了解为什么它能成为人们创造优美的可交互式文档和教育资源的一个强大工具。 首先&#xff…...

独立按键识别

项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第四章 IO口编写 参考图电路编写程序&#xff0c;要求实现如下功能: 开始时LED均为熄灭状态&#xff0c;随后根据按键动作点亮相应LED(在按键释放后能继续保持该亮灯状态&#xff0c;直至新的按键压下时为止…...

【论文阅读】AlphaFold2阅读笔记

摘要 给一串氨基酸的序列&#xff0c;去预测他的结构是什么样的 蛋白质的折叠问题 alphaFold精度不够 这里可以达到原子精度的预测 CASP14 精度 这个是什么问题是不是解决了问题 模型的结果并不重要 导论 摘要故事的详细版本 在写论文的时候&#xff0c;可以这样写&a…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...