2 Star 0 Fork 0

DHI陈晓扬 / springboot-study

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MulanPSL-2.0

springboot-study

介绍

自己总结的SpringBoot学习资料,作为代码的备份,方便后续对一些知识点进行回顾,每一个项目都对应我在CSDN中的文章, 每更新一篇文章,都会将对应的文件夹上传到gitee中

软件架构

都是一些演示项目,因此架构基本都为单体架构,也有少量的dubbo项目和微服务项目

项目介绍

1. Trie01

Trie01是字典树的演示项目,在实际开发中,我们有时候对发布的文章、话题之类的内容,需要做一些审核,防止 一些含有不当词汇的文章发布到网络中,因此使用字典树对文章内容进行过滤。对应的文章连接为: 使用TrieTree(字典树)来实现敏感词过滤

2. Annotation02

Annotation02是SpringBoot自定义注解的演示项目,通过自定义注解,实现鉴权、限流、参数校验等功能, 对应的文章连接为:SpringBoot自定义注解

3. miaosha02

秒杀系统中通常会避免用户之间访问下单页面的URL(避免使用爬虫来造成不公平)。所有需要将URL动态化,即使秒杀系统的开发人员也无法在知晓在秒杀开始时的URL。 miaosha02 是对秒杀系统中,动态生成秒杀路径的介绍,参考文章:秒杀系统中如何动态生成下单随机URL, 秒杀系统中如何动态生成下单随机URL

4. threadPool01

threadPool01是关于线程池在SpringBoot一般如何使用的演示项目,包括一些线程池在使用的过程中可能出现的问题, 对应的文章连接为:SpringBoot中线程池应用

5. threadPool03

threadPool03是在上一篇threadPool01的基础上,一个线程池应用的演示项目,参考了开源项目springboot-log,演示如何在项目中使用线程池批量插入日志,参考 文章连接:SpringBoot中线程池应用

6. dubbo02

dubbo02是关于dubbo框架使用的演示项目,包括dubbo的负载均衡,调用机制,超时重试,本地存根等内容,对应的文章链接为: dubbo学习

7. dubbo03

dubbo03也是关于dubbo框架使用的演示项目,包括dubbo的灰度发布,服务鉴权等功能,对应的文章链接为: dubbo学习

8. chunk-file-demo

chunk-file-demo是关于大文件切片的演示项目,对应大文件的传输,可能会出现网络延迟等原因导致的次数失败,由此可以使用文件切片的方式。 对应的文章链接为:SpringBoot文件切片

9. dictDemo02

dictDemo02是关于数据字典的演示项目,启动时将数据库中的数据字典加载到缓存中 对应的文章链接为:SpringBoot使用数据字典

10. mail01

mail01是关于项目中如何整合邮件服务发送邮件信息的演示项目,通常用于一些需要用户验证或者提醒的场景, 对应的文章连接为:SpringBoot发送邮箱验证码

11. springboot-admin01

springboot-admin01是关于项目中如何使用actuator来监测项目运行状况,包括http、jvm等情况, 对应的文章连接为:SpringBoot-admin学习

12. redisson01

redisson01 是SpringBoot整合Redis实现分布式锁的演示项目,参考文章连接为:Redis的分布式锁详解

13. miaosha05

miaosha05是在B站学习网课时,记录的一些笔记,在秒杀系统中,我们把热门商品预热到redis中,然后在秒杀时扣减库存,并将订单消息添加 到消息队列中,从消息队列中插入订单信息。在这一系列过程中,我们应该考虑很多东西,如何将热门商品分布到不同节点?如果热门商品刚好分 布到同一个节点怎么办?如果这些热门商品中,有一个特别热门,几乎所有请求都打到该商品对应的节点上怎么办?如果redis集群挂了怎么办? 如何保证消息的幂等性?如何解决消息积压?对应的文章连接:B站诸葛老师10万并发秒杀系统架构学习笔记

14. caffeine02

caffeine02是SpringBoot整合本地缓存caffeine的演示项目,参考文章连接为:SpringBoot整合Caffeine

15. rpcException01

rpcException01是dubbo处理自定义异常的演示项目,参考文章连接为:dubbo处理自定义异常,Dubbo如何处理业务异常,这个一定要知道哦

16. python01

python01是关于java如何调用python脚本的演示项目,参考文章连接为:Java 调用 Python 脚本, 在python01的resource目录下,有参考的文档

17. Swagger03

swagger03是关于springboot整合swagger3(openApi3)的演示项目,同时还演示如何整合SpringSecurity和Swagger3, 参考文章连接SpringBoot整合Swager3

18. readWrite01

readWrite01是关于springboot整合shardingsphere读写分离的演示项目,参考文章:MySQL主从复制读写分离,看这篇就够了!

19. cache01

cache01是关于caffeine本地缓存搭配redis实现二级缓存的演示项目,参考文章:https://www.yuque.com/g/chenhebufu/zspw94/fpebzheiabmk2pvr/collaborator/join?token=qs0jw5MKYHF7tCjU# 《二级缓存》

20. mapstruct01

mapstruct01是关于SpringBoot整合mapStruct的演示项目,MapStruct 是一个代码生成器,它基于约定优于配置方法极大地简化了 Java bean 类型之间映射的实现(通俗地说,就是做对象复制的)。 参考文章:https://www.yuque.com/g/chenhebufu/zspw94/nobsazpqaburbxze/collaborator/join?token=xv8bCXnsdD1DkuZx# 《MapStruct学习》

21. SpringEvent01

SpringEvent01是关于SpringBoot事件监听机制的演示项目,参考文章:https://www.yuque.com/g/chenhebufu/zspw94/agwbaawm53vqgguw/collaborator/join?token=XXiPIgGQ9fMfe0cV# 《Spring的事件机制》

22. flowable03

flowable03是关于SpringBoot整合flowable6的演示项目,演示如何使用flowable6用户参与的流程活动,以及 不需要人工关于的业务流程,参考文章:https://www.yuque.com/g/chenhebufu/zspw94/my92sd5amn9b7ivy/collaborator/join?token=Xcv67F0UHSs8drrk# 《SpringBoot整合Flowable6》

23. callback02

callback02是关于Java使用回调机制的示例代码,主要代码在test4,test5,test6这三个包中,演示关于如何创建回调类,使用回调机制。 参考文章:https://www.yuque.com/g/chenhebufu/zspw94/fgey9erav5yhazg0/collaborator/join?token=O6To8tH0EQ6uiwVS# 《Java使用回调》

24. mybatis-plus01

mybatis-plus01是关于在SpringBoot整合mybatisPlus中出现的问题的一些总结,如果使用mybatisPlus,为了避免mybatisPlus中的诸如LambdaQuery等内容在service中的耦合,我们将mybatisPlus中 的相关代码封装到repository中,也就是说,service调用repository,repository中编写mybatisPlus的相关逻辑然后调用dao层,从而避免mybatisPlus在service层中的高侵入性。 参考文章:https://www.yuque.com/g/chenhebufu/zspw94/pxe6udxgaw49a510/collaborator/join?token=KID0qQRnGtGYdwvs# 《关于Mybatis-plus使用的一些细节》

25. strategyAndFactory01

strategyAndFactory01是关于在SpringBoot使用策略模式结合工厂模式进行开发的一些总结,相关文章连接:https://www.yuque.com/g/chenhebufu/zspw94/uqfr477xawg4bq5w/collaborator/join?token=UFG6ZXT0gvLh3s5d# 《SpringBoot中使用策略模式加工厂模式》

26. ddd01

ddd01是关于如何使用DDD领域驱动设计来创建项目的示例代码,参考文章:https://www.yuque.com/g/chenhebufu/zspw94/ogl2159lyozkbir2/collaborator/join?token=F0Up84GBh9rwRN5k# 《DDD领域驱动设计实战一》

测试一下哈哈哈哈哈哈

我的天哪

开源项目学习

1. hdw-dubbo

hdw-dubbo微服务开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。 项目的gitee地址为: https://gitee.com/tumao2/hdw-dubbo?_from=gitee_search

2. springboot-log

springboot-log项目使用线程池,实现接口日志异步池化入库: 将接口中的日志内容直接放入到队列中,不需要进行日志入库了,减少了一次数据库操作,可以提升接口的响应速度 。 库中日志多线程清理: 当日志表中的数据量过多时,会占用很多的磁盘空间,进而可能导致磁盘空间不足的告警,此时就需要进行日志的清理,但是此时在清理时,还需要将最新多少天的数据保留,将之前的日志数据清理掉 ;日志清理是 定时 进行清理的,一般在凌晨访问量最少的时候进行日志的清理。 github链接:https://github.com/leishen6/springboot_log

3. leave-sample

leave-sample项目是关于DDD领域驱动设计的演示项目,中台架构与实现 DDD和微服务,清晰地提供了从战略设计到战术设计以及代码落地。 gitee地址:https://gitee.com/serpmelon/leave-sample

安装教程

  1. xxxx
  2. xxxx
  3. xxxx

使用说明

  1. 本项目仅作为代码的备份,方便后续对一些知识点进行回顾
  2. 每一个项目都对应我在CSDN中的文章

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. Gitee 官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
  4. GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
  5. Gitee 官方提供的使用手册 https://gitee.com/help
  6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/
木兰宽松许可证, 第2版 木兰宽松许可证, 第2版 2020年1月 http://license.coscl.org.cn/MulanPSL2 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: 0. 定义 “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 “法人实体”是指提交贡献的机构及其“关联实体”。 “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 1. 授予版权许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 2. 授予专利许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 3. 无商标许可 “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 4. 分发限制 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 5. 免责声明与责任限制 “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 6. 语言 “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 条款结束 如何将木兰宽松许可证,第2版,应用到您的软件 如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; 3, 请将如下声明文本放入每个源文件的头部注释中。 Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. Mulan Permissive Software License,Version 2 Mulan Permissive Software License,Version 2 (Mulan PSL v2) January 2020 http://license.coscl.org.cn/MulanPSL2 Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: 0. Definition Software means the program and related documents which are licensed under this License and comprise all Contribution(s). Contribution means the copyrightable work licensed by a particular Contributor under this License. Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. Legal Entity means the entity making a Contribution and all its Affiliates. Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. 1. Grant of Copyright License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. 2. Grant of Patent License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. 3. No Trademark License No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. 4. Distribution Restriction You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. 5. Disclaimer of Warranty and Limitation of Liability THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Language THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. END OF THE TERMS AND CONDITIONS How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.

简介

自己总结的SpringBoot学习资料 展开 收起
Java
MulanPSL-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/dhi-chen-xiaoyang/springboot-study.git
git@gitee.com:dhi-chen-xiaoyang/springboot-study.git
dhi-chen-xiaoyang
springboot-study
springboot-study
master

搜索帮助