手写SpringBoot3的starter及git高级用法

项目场景:

手动写一个SpringBoot3的启动类以及上传gitee仓库

基础原理知识:

SpringBoot3中自动配置原理的变化:

新版Spring Boot3.X和旧版SpringBoot2.7之前自定义Starter区别

- SpringBoot2.7之前

META-INF/spring.factories文件里添加org.springframework.boot.autoconfigure.EnableAutoConfiguration=XXAutoConfiguration

- SpringBoot2.7推出新的自动配置

在META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
文件里添加配置类名称,每行包含一个配置类全限定名 兼容META-INF/spring.factories方式。

- SpringBoot3.x 移除spring.factories

移除META-INF/spring.factories方式
只支持META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
增加自动配置。

git的高级用法:

1.git branch:查看当前分支,如果在后面加-a则表示查看所有分支。

2.git log:查看提交历史,在commit id这一项中可以看到提交的历史版本id。

3.git reflog:查看每一次命令的记录

4.git reset --soft:回退到某个版本,只回退了commit的信息。

5.git reset --mixed:为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息。

6.git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉。**

二:步骤

1.回滚到指定版本

首先进入项目根目录下,使用git log 命令,找到需要返回的commit id 号,使用git reset --hard 后跟你需要的commit id号,这样你就回到了指定的版本,注意git reset --hard与git reset --soft的区别:

git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。通常使用在当你git commit -m "注释"提交了你修改的内容,但内容有点问题想撤销,又还要提交,就使用soft,相当于软着路;

git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉,相当于硬着路,回滚最彻底。

2.返回到最新版本

当你发现需要回滚到最新版本时,可以采用以下指今步骤

git log:查看历史提交

git reflog:查看每一次命令记录

img

通过git reflog命令查看到之后,我们再利用 git reset 来返回到相应的版本即可,HEAD前面的一串字符为我们简写的ID,所以最后输入

git reset --hard ca936c3即回滚到了最新的版本号了

问题描述:

问题1:

由于我一开始是用SpringBoot3.2.1版本并且使用spring.factories的方式来完成自动装配自动配置类,可是当我在使用
我自己手写这个starter时,就出现了无法注入Bean的错误。

问题2:

在我上传git的时候,也就是上传使用这个手写starter的代码时候出现个离谱大问题。我当时想着把这个代码上传到同一个分支下,开始是上传成功了,但是它把原本的那个手写的starter直接给覆盖了,我当时还是不慌的,因为我有过这样一次经历,就到gitee仓库,手动切换会之前的版本,但,这时候就离谱了,他给我提示版本冲突,无法恢复会之前的版本,于是当时我就有点小慌了,就开始各种尝试,谁知TMD,点了merge这个玩意,导致我本地的代码直接又被远程的代码覆盖了,当时看见,心里不禁感叹,唉服了,不过还好自己知识广泛,自己之前接触并使用切换版本的用法,一直没有经过实践,这下倒好,于是我就立马去网上找一下相关命令,一试果然成功了。事后回想,我TM不是第一次出现这个问题了,真该死啊,上次还是写SpringCloud项目时,导致我直接把我整个项目都给干没了,我写一周的项目啊。

原因分析:

问题1:

因为我自己使用的是SpringBoot3的版本与spring.factories不支持才出现了注入Bean无法注入的问题,改成SpringBoot2相关的版本.向我自己就是改成了2.7.9版本就好了。那么项目就不是SpringBoot3了,后续我将会进行继续学习补上。

问题2:

这个主要是自己没记住上回那个goba的深刻教训以及git相关的知识没掌握牢考,因此写一篇博客记录一下。

解决方案:

问题1的解决方案前面多处提及,这里便不在多做描述

问题2的解决方案:

git reflog 查出需要切换的那个版本的HEAD前面的一串字符(0fff0fa)
git reset -–hard 0fff0fa
最后问题成功解决如下图。😀
请添加图片描述

最后有想看代码的小伙伴们,我附上其gitee仓库地址:

Gitee仓库地址:

Gitee仓库

文章写的可能不乍地,但请点个赞再走呗!

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

活的实在

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值