Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cnickgit/springboot-guide
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 3504780
Choose a base ref
...
head repository: CodingDocs/springboot-guide
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 76c018d
Choose a head ref
Loading
Showing with 4,971 additions and 1,202 deletions.
  1. +0 −20 .github/workflows/main.yml
  2. +45 −33 README.md
  3. +975 −0 docs/MyBatisPlus.md
  4. +161 −0 docs/PowerMockRunnerAndMockito.md
  5. +1 −1 docs/advanced/SpringBoot-ScheduleTasks.md
  6. +0 −540 docs/advanced/spring-bean-validation.md
  7. +0 −63 docs/basis/spring-boot-devtools.md
  8. +0 −2 docs/basis/springboot-mybatis.md
  9. +216 −0 docs/basis/swagger.md
  10. +0 −197 docs/interview/springboot-questions.md
  11. +121 −0 docs/projects/SpringCloud刷题系统.md
  12. +239 −0 docs/projects/kkFileView-SpringBoot在线文件预览系统.md
  13. +174 −0 docs/projects/一个基于SpringBoot的在线考试系统.md
  14. +584 −0 docs/spring-bean-validation.md
  15. +28 −32 docs/start/springboot-hello-world.md
  16. +45 −19 docs/start/springboot-introduction.md
  17. +0 −30 docs/start/springboot-system-requirements.md
  18. +8 −5 source-code/advanced/bean-validation-demo/pom.xml
  19. BIN source-code/advanced/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/.DS_Store
  20. +7 −10 ...ean-validation-demo/src/main/java/com/example/beanvalidationdemo/controller/PersonController.java
  21. +2 −32 ...ode/advanced/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/entity/Person.java
  22. +44 −0 ...anced/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/entity/PersonRequest.java
  23. +2 −1 ...nced/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/service/PersonService.java
  24. +2 −0 ...ced/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/validation/PhoneNumber.java
  25. +7 −2 ...validation-demo/src/main/java/com/example/beanvalidationdemo/validation/PhoneNumberValidator.java
  26. +0 −28 ...d/bean-validation-demo/src/test/java/com/example/beanvalidationdemo/HelloWorldControllerTest.java
  27. +20 −56 ...anced/bean-validation-demo/src/test/java/com/example/beanvalidationdemo/PersonControllerTest.java
  28. +10 −13 ...advanced/bean-validation-demo/src/test/java/com/example/beanvalidationdemo/PersonServiceTest.java
  29. 0 source-code/{start/hello-world → bean-validation-demo}/.gitignore
  30. +114 −0 source-code/bean-validation-demo/.mvn/wrapper/MavenWrapperDownloader.java
  31. BIN source-code/{start/hello-world → bean-validation-demo}/.mvn/wrapper/maven-wrapper.jar
  32. 0 source-code/{start/hello-world → bean-validation-demo}/.mvn/wrapper/maven-wrapper.properties
  33. +298 −0 source-code/bean-validation-demo/mvnw
  34. 0 source-code/{start/hello-world → bean-validation-demo}/mvnw.cmd
  35. +57 −0 source-code/bean-validation-demo/pom.xml
  36. +13 −0 ...n-validation-demo/src/main/java/com/example/beanvalidationdemo/BeanValidationDemoApplication.java
  37. +5 −0 ...e-code/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/constants/Constants.java
  38. +19 −0 ...validation-demo/src/main/java/com/example/beanvalidationdemo/controller/HelloWorldController.java
  39. +38 −0 ...ean-validation-demo/src/main/java/com/example/beanvalidationdemo/controller/PersonController.java
  40. +18 −0 source-code/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/entity/Person.java
  41. +44 −0 ...-code/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/entity/PersonRequest.java
  42. +33 −0 ...alidation-demo/src/main/java/com/example/beanvalidationdemo/exception/GlobalExceptionHandler.java
  43. +4 −0 ...ode/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/service/AddPersonGroup.java
  44. +4 −0 .../bean-validation-demo/src/main/java/com/example/beanvalidationdemo/service/DeletePersonGroup.java
  45. +28 −0 ...code/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/service/PersonService.java
  46. +22 −0 ...ode/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/validation/PhoneNumber.java
  47. +21 −0 ...validation-demo/src/main/java/com/example/beanvalidationdemo/validation/PhoneNumberValidator.java
  48. +26 −0 source-code/bean-validation-demo/src/main/java/com/example/beanvalidationdemo/validation/Region.java
  49. +17 −0 ...bean-validation-demo/src/main/java/com/example/beanvalidationdemo/validation/RegionValidator.java
  50. 0 source-code/bean-validation-demo/src/main/resources/application.properties
  51. +83 −0 ...-code/bean-validation-demo/src/test/java/com/example/beanvalidationdemo/PersonControllerTest.java
  52. +44 −0 source-code/bean-validation-demo/src/test/java/com/example/beanvalidationdemo/PersonServiceTest.java
  53. +31 −0 source-code/hello-world/.gitignore
  54. 0 source-code/{start → }/hello-world/.mvn/wrapper/MavenWrapperDownloader.java
  55. BIN source-code/hello-world/.mvn/wrapper/maven-wrapper.jar
  56. +1 −0 source-code/hello-world/.mvn/wrapper/maven-wrapper.properties
  57. 0 source-code/{start → }/hello-world/mvnw
  58. +161 −0 source-code/hello-world/mvnw.cmd
  59. 0 source-code/{start → }/hello-world/pom.xml
  60. 0 source-code/{start → }/hello-world/src/main/java/com/example/helloworld/HelloWorldApplication.java
  61. 0 ...e-code/{start → }/hello-world/src/main/java/com/example/helloworld/controller/UserController.java
  62. 0 source-code/{start → }/hello-world/src/main/java/com/example/helloworld/dto/UserDto.java
  63. 0 source-code/{start → }/hello-world/src/main/java/com/example/helloworld/entity/User.java
  64. 0 source-code/{start → }/hello-world/src/main/resources/application.properties
  65. 0 source-code/{start → }/hello-world/src/test/java/com/example/dto2entity/BeanUtilsTest.java
  66. 0 ...-code/{start → }/hello-world/src/test/java/com/example/helloworld/HelloWorldApplicationTests.java
  67. +33 −0 source-code/springboot-data-desensitization/.gitignore
  68. +118 −0 source-code/springboot-data-desensitization/.mvn/wrapper/MavenWrapperDownloader.java
  69. BIN source-code/springboot-data-desensitization/.mvn/wrapper/maven-wrapper.jar
  70. +2 −0 source-code/springboot-data-desensitization/.mvn/wrapper/maven-wrapper.properties
  71. +322 −0 source-code/springboot-data-desensitization/mvnw
  72. +182 −0 source-code/springboot-data-desensitization/mvnw.cmd
  73. +54 −0 source-code/springboot-data-desensitization/pom.xml
  74. +13 −0 .../main/java/com/github/springbootdatadesensitization/SpringbootDataDesensitizationApplication.java
  75. +59 −0 ...main/java/com/github/springbootdatadesensitization/desensitize/JsonDesensitizationSerializer.java
  76. +25 −0 ...ain/java/com/github/springbootdatadesensitization/desensitize/annotation/JsonDesensitization.java
  77. +71 −0 .../java/com/github/springbootdatadesensitization/desensitize/desensitizer/AbstractDesensitizer.java
  78. +11 −0 ...src/main/java/com/github/springbootdatadesensitization/desensitize/desensitizer/Desensitizer.java
  79. +45 −0 ...n/java/com/github/springbootdatadesensitization/desensitize/desensitizer/DesensitizerFactory.java
  80. +15 −0 ...a/com/github/springbootdatadesensitization/desensitize/desensitizer/impl/AddressDesensitizer.java
  81. +15 −0 .../com/github/springbootdatadesensitization/desensitize/desensitizer/impl/BankCardDesensitizer.java
  82. +15 −0 .../com/github/springbootdatadesensitization/desensitize/desensitizer/impl/BirthdayDesensitizer.java
  83. +15 −0 ...a/com/github/springbootdatadesensitization/desensitize/desensitizer/impl/DefaultDesensitizer.java
  84. +15 −0 ...ava/com/github/springbootdatadesensitization/desensitize/desensitizer/impl/EmailDesensitizer.java
  85. +15 −0 ...va/com/github/springbootdatadesensitization/desensitize/desensitizer/impl/IdCardDesensitizer.java
  86. +15 −0 .../com/github/springbootdatadesensitization/desensitize/desensitizer/impl/LandlineDesensitizer.java
  87. +15 −0 ...va/com/github/springbootdatadesensitization/desensitize/desensitizer/impl/MobileDesensitizer.java
  88. +15 −0 .../com/github/springbootdatadesensitization/desensitize/desensitizer/impl/PasswordDesensitizer.java
  89. +46 −0 ...src/main/java/com/github/springbootdatadesensitization/desensitize/enums/DesensitizationType.java
  90. +14 −0 ...java/com/github/springbootdatadesensitization/desensitize/exception/DesensitizationException.java
  91. +35 −0 ...boot-data-desensitization/src/main/java/com/github/springbootdatadesensitization/entity/User.java
  92. +1 −0 source-code/springboot-data-desensitization/src/main/resources/application.properties
  93. +33 −0 .../java/com/github/springbootdatadesensitization/desensitize/JsonDesensitizationSerializerTest.java
  94. +0 −118 springboot-schedule-task/.idea/workspace.xml
20 changes: 0 additions & 20 deletions .github/workflows/main.yml

This file was deleted.

78 changes: 45 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
👍推荐[2021最新实战项目源码下载](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=100018862&idx=1&sn=858e00b60c6097e3ba061e79be472280&chksm=4ea1856579d60c73224e4d852af6b0188c3ab905069fc28f4b293963fd1ee55d2069fb229848#rd)

👍[《JavaGuide 面试突击版》PDF 版本](#公众号)[图解计算机基础 PDF 版](#优质原创PDF资源)

书单已经被移动到[awesome-cs](https://github.com/CodingDocs/awesome-cs) 这个仓库。




<p align="center">
<a href="https://github.com/Snailclimb/springboot-guide" target="_blank">
<img src="https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-7/spring-boot-guide.png" width=""/>
@@ -10,62 +19,65 @@
<a href="#公众号"><img src="https://img.shields.io/badge/%E5%85%AC%E4%BC%97%E5%8F%B7-JavaGuide-lightgrey.svg" alt="公众号"></a>
<a href="#公众号"><img src="https://img.shields.io/badge/PDF-Java面试突击-important.svg" alt="公众号"></a>
</p>
**在线阅读** : https://snailclimb.gitee.io/springboot-guide (上面的地址访问速度缓慢的建议使用这个路径访问)

**在线阅读:** https://snailclimb.gitee.io/springboot-guide (上面的地址访问速度缓慢的建议使用这个路径访问)
**开源的目的是为了大家能一起完善,如果你觉得内容有任何需要完善/补充的地方,欢迎提交 issue/pr。**

## 重要知识点

### 开始
- Github地址:https://github.com/CodingDocs/springboot-guide
- 码云地址:https://gitee.com/SnailClimb/springboot-guide(Github无法访问或者访问速度比较慢的小伙伴可以看码云上的对应内容)

1. **[Spring Boot 介绍](./docs/start/springboot-introduction.md)**
2. [SpringBoot 开发环境要求](./docs/start/springboot-system-requirements.md)
3. **[Spring Boot 版 Hello World & Spring Boot 项目结构分析](./docs/start/springboot-hello-world.md)**
## 重要知识点

### 基础

1. **[开发 RestFul Web 服务](./docs/basis/sringboot-restful-web-service.md)**
2. [RestController VS Controller](./docs/basis/RestControllerVSController.md)
3. [`@PostConstruct``@PreDestroy` 简单使用以及Java9+中的替代方案](./docs/basis/@PostConstruct与@PreDestroy.md)
4. **[Spring 如何优雅读取配置文件?](./docs/basis/read-config-properties.md)**
5. **[Spring Boot 异常处理](./docs/advanced/springboot-handle-exception.md)**
6. **[实际项目中我们是这样做异常处理的](./docs/advanced/springboot-handle-exception-plus.md)**
7. [使用 spring-boot-devtools 进行热部署](./docs/basis/spring-boot-devtools.md) (实际项目不太推荐热部署,影响效率)
8. **[ Spring Boot JPA 基础:常见操作解析](./docs/basis/springboot-jpa.md)**
9. **[JPA 中非常重要的连表查询就是这么简单](./docs/basis/springboot-jpa-lianbiao.md)**
10. [SpringBoot 实现过滤器](./docs/basis/springboot-filter.md)
11. [SpringBoot 实现拦截器](./docs/basis/springboot-interceptor.md)
12. [整合 SpringBoot+Mybatis](./docs/basis/springboot-mybatis.md)[SpirngBoot2.0+ 的 SpringBoot+Mybatis 多数据源配置](./docs/basis/springboot-mybatis-mutipledatasource.md)
1. [Spring Boot 介绍](./docs/start/springboot-introduction.md)
2. [第一个 Hello World](./docs/start/springboot-hello-world.md)
3. [第一个 RestFul Web 服务](./docs/basis/sringboot-restful-web-service.md)
4. [Spring 如何优雅读取配置文件?](./docs/basis/read-config-properties.md)
5. **异常处理**[Spring Boot 异常处理的几种方式](./docs/advanced/springboot-handle-exception.md)[Spring Boot 异常处理在实际项目中的应用](./docs/advanced/springboot-handle-exception-plus.md)
6. **JPA** : [ Spring Boot JPA 基础:常见操作解析](./docs/basis/springboot-jpa.md)[JPA 中非常重要的连表查询就是这么简单](./docs/basis/springboot-jpa-lianbiao.md)
7. **拦截器和过滤器**[SpringBoot 实现过滤器](./docs/basis/springboot-filter.md)[SpringBoot 实现拦截器](./docs/basis/springboot-interceptor.md)
8. **MyBatis**[整合 SpringBoot+Mybatis](./docs/basis/springboot-mybatis.md)[SpirngBoot2.0+ 的 SpringBoot+Mybatis 多数据源配置](./docs/basis/springboot-mybatis-mutipledatasource.md) (TODO:早期文章,不建议阅读,待重构~
9. [MyBatis-Plus 从入门到上手干事!](./docs/MyBatisPlus.md)
10. [SpringBoot 2.0+ 集成 Swagger 官方 Starter + knife4j 增强方案](./docs/basis/swagger.md)

### 进阶

1. **[Bean映射工具之Apache BeanUtils VS Spring BeanUtils](./docs/advanced/Apache-BeanUtils-VS-SpringBean-Utils.md)**
2. [5种常见Bean映射工具的性能比对](./docs/advanced/Performance-of-Java-Mapping-Frameworks.md)
3. **[如何在 Spring/Spring Boot 中做参数校验?你需要了解的都在这里!](./docs/advanced/spring-bean-validation.md)**
1. Bean映射工具 :[Bean映射工具之Apache BeanUtils VS Spring BeanUtils](./docs/advanced/Apache-BeanUtils-VS-SpringBean-Utils.md)[5种常见Bean映射工具的性能比对](./docs/advanced/Performance-of-Java-Mapping-Frameworks.md)
3. [如何在 Spring/Spring Boot 中优雅地做参数校验?](./docs/spring-bean-validation.md)
3. [使用 PowerMockRunner 和 Mockito 编写单元测试用例](./docs/PowerMockRunnerAndMockito.md)
4. [5分钟搞懂如何在Spring Boot中Schedule Tasks](./docs/advanced/SpringBoot-ScheduleTasks.md)
5. **[新手也能看懂的 Spring Boot 异步编程指南](./docs/advanced/springboot-async.md)**
7. **[Kafka 入门+SpringBoot整合Kafka系列](https://github.com/Snailclimb/springboot-kafka)**
8. [超详细,新手都能看懂 !使用Spring Boot+Dubbo 搭建一个分布式服务](./docs/advanced/springboot-dubbo.md)
9. [从零入门 !Spring Security With JWT(含权限验证)](https://github.com/Snailclimb/spring-security-jwt-guide)
5. [新手也能看懂的 Spring Boot 异步编程指南](./docs/advanced/springboot-async.md)
6. [Kafka 入门+SpringBoot整合Kafka系列](https://github.com/Snailclimb/springboot-kafka)
7. [超详细,新手都能看懂 !使用Spring Boot+Dubbo 搭建一个分布式服务](./docs/advanced/springboot-dubbo.md)
8. [从零入门 !Spring Security With JWT(含权限验证)](https://github.com/Snailclimb/spring-security-jwt-guide)

### 面试题
### 补充

- [几道简单的 SpringBoot面试题](./docs/interview/springboot-questions.md)
1. [`@PostConstruct``@PreDestroy` 简单使用以及Java9+中的替代方案](./docs/basis/@PostConstruct与@PreDestroy.md)

## 实战项目

1. [使用 Spring Boot搭建一个在线文件预览系统!支持ppt、doc等多种类型文件预览](./docs/projects/kkFileView-SpringBoot在线文件预览系统.md)
2. [ SpringBoot 前后端分离后台管理系统分析!分模块开发、RBAC权限控制...](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247495011&idx=1&sn=f574f5d75c3720d8b2a665d1d5234d28&chksm=cea1a2a8f9d62bbe9f13f5a030893fe3da6956c4be41471513e6247f74cba5a8df9941798b6e&token=212861022&lang=zh_CN#rd)
3. [一个基于Spring Cloud 的面试刷题系统。](./docs/projects/SpringCloud刷题系统.md)
4. [一个基于 Spring Boot 的在线考试系统](./docs/projects/一个基于SpringBoot的在线考试系统.md)

## 说明

1. 项目 logo 由 [logoly](https://logoly.pro/#/) 生成。
2. 利用 docsify 生成文档部署在 Github pages: [docsify 官网介绍](https://docsify.js.org/#/)

### 联系我
2. 利用 docsify 生成文档部署在 Github Pages 和 Gitee Pages: [docsify 官网介绍](https://docsify.js.org/#/)

添加我的微信备注“Github”,回复关键字 **“加群”** 即可入群。
### 优质原创PDF资源

![个人微信](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-7/wechat3.jpeg)
![](https://cdn.jsdelivr.net/gh/javaguide-tech/blog-images-2@main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%93%E4%B8%9A/image-20201027160348395.png)

### 公众号

如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。

**《Java面试突击》:** 由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本[公众号](#公众号)后台回复 **"Java面试突击"** 即可免费领取!

**Java工程师必备学习资源:** 一些Java工程师常用学习资源公众号后台回复关键字 **“1”** 即可免费无套路获取。

![我的公众号](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/167598cd2e17b8ec.png)
Loading