# spring-boot-demo
**Repository Path**: liuyueyi/spring-boot-demo
## Basic Information
- **Project Name**: spring-boot-demo
- **Description**: Spring Boot & Spring Cloud Study Demo
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 8
- **Forks**: 3
- **Created**: 2019-03-10
- **Last Updated**: 2024-05-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Spring-Boot-Demo
     [](https://travis-ci.org/liuyueyi/spring-boot-demo)
[](http://isitmaintained.com/project/liuyueyi/spring-boot-demo "Average time to resolve an issue")
[](http://isitmaintained.com/project/liuyueyi/spring-boot-demo "Percentage of issues still open")
> SpringBoot + SpringCloud + SpringSecurity学习过程中的源码汇总,沉淀记录下学习历程
欢迎关注公众号 `一灰灰blog` 更多干货持续分享 

## 0. 项目说明
如果想在本机使用这个项目的demo,下面有一些注意事项
环境要求
```bash
java: jdk1.8
maven: 3.2+
spring boot: 2.2.1.RELEASE
ide: IDEA/Eclipse/NetBeans随意
## 不同项目的环境依赖,请以项目对应的博文要求为准
db: mongodb + mysql + redis + solr + elasticsearch
中间件: promotheus + grafana + kibana + rabbitmq
```
IDEA插件
```bash
# 必须
lombok
# 推荐
maven helper: 查看依赖树的好工具(排除依赖冲突非常棒)
Free MyBatis plugin: mybatis的mapper与xml跳转比较方便
Mybatis log Plugin:日志
CodeGlance: 类似sublimetext 右边的快速预览框
Rainbow Brackets: 不同层级的括号颜色不一样
```
## 1. 知识点图谱
所有博文集中发布在个人博客网站 : [一灰灰Blog-Spring](http://spring.hhui.top/)
大致规划的内容包括以下章节,希望能用
[](https://travis-ci.org/liuyueyi/spring-boot-demo)
[](http://isitmaintained.com/project/liuyueyi/spring-boot-demo "Average time to resolve an issue")
[](http://isitmaintained.com/project/liuyueyi/spring-boot-demo "Percentage of issues still open")
> SpringBoot + SpringCloud + SpringSecurity学习过程中的源码汇总,沉淀记录下学习历程
欢迎关注公众号 `一灰灰blog` 更多干货持续分享 

## 0. 项目说明
如果想在本机使用这个项目的demo,下面有一些注意事项
环境要求
```bash
java: jdk1.8
maven: 3.2+
spring boot: 2.2.1.RELEASE
ide: IDEA/Eclipse/NetBeans随意
## 不同项目的环境依赖,请以项目对应的博文要求为准
db: mongodb + mysql + redis + solr + elasticsearch
中间件: promotheus + grafana + kibana + rabbitmq
```
IDEA插件
```bash
# 必须
lombok
# 推荐
maven helper: 查看依赖树的好工具(排除依赖冲突非常棒)
Free MyBatis plugin: mybatis的mapper与xml跳转比较方便
Mybatis log Plugin:日志
CodeGlance: 类似sublimetext 右边的快速预览框
Rainbow Brackets: 不同层级的括号颜色不一样
```
## 1. 知识点图谱
所有博文集中发布在个人博客网站 : [一灰灰Blog-Spring](http://spring.hhui.top/)
大致规划的内容包括以下章节,希望能用半年到一年(严重超期)的时间完成....
### I. [基础篇](http://spring.hhui.top/spring-blog/categories/SpringBoot/基础篇/)
- [x] [配置相关](http://spring.hhui.top/spring-blog/tags/Config/)
- [x] [Bean相关](http://spring.hhui.top/spring-blog/tags/Bean/)
- [x] [日志相关](http://spring.hhui.top//spring-blog/tags/Log/)
- [x] [AOP相关](http://spring.hhui.top//spring-blog/tags/AOP/)
- [x] [SPEL](https://spring.hhui.top/spring-blog/tags/SpEL/)
- [x] [事件通知机制](https://spring.hhui.top/spring-blog/tags/EventListener/)
### II. 高级篇
- [x] [db读写](http://spring.hhui.top/spring-blog/tags/DB/)
    - [x] 基本配置,数据源,多数据源
    - [x] [jdbcTemplate](http://spring.hhui.top/spring-blog/tags/JdbcTemplate/)
    - [x] [jpa](http://spring.hhui.top/spring-blog/tags/JPA/)
        - 项目工程: [spring-boot/102-jpa](spring-boot/102-jpa)
    - [x] mybatis
        - 项目工程:  [spring-boot/103-mybatis-xml](spring-boot/103-mybatis-xml) , [spring-boot/104-mybatis-noxml](spring-boot/104-mybatis-noxml)
    - [x] mybatis plus
        - 项目工程: [spring-boot/105-mybatis-plus](spring-boot/105-mybatis-plus)
    - [x] [Jooq](http://spring.hhui.top/spring-blog/tags/Jooq/)
        - 项目工程: [spring-boot/108-jooq-curd](spring-boot/108-jooq-curd), [spring-boot/108-jooq-mysql](spring-boot/108-jooq-mysql) 
- [ ] influxdb 时序数据库
        - 项目工程: [spring-boot/130-influxdb](spring-boot/130-influxdb) ,  [spring-boot/131-influxdb-java](spring-boot/131-influxdb-java) 
- [ ] [Mongo](http://spring.hhui.top/spring-blog/tags/Mongo/)
    - [x] 项目工程
        - 基础环境 [spring-boot/110-mongo-basic](spring-boot/110-mongo-basic)
        - mongoTemplate使用姿势 [spring-boot/111-mongo-template](spring-boot/111-mongo-template)
- [x] [Redis读写](http://spring.hhui.top/spring-blog/tags/Redis/)
    - [x] 项目工程:
        - 基本环境构建 [spring-boot/120-redis-config](spring-boot/120-redis-config)
        - jedis环境构建  [spring-boot/121-redis-jedis-config](spring-boot/121-redis-jedis-config)
        - redisTemplate使用姿势 [spring-boot/122-redis-template](spring-boot/122-redis-template)
        - lettuce环境构建 [spring-boot/123-redis-lettuce-config](spring-boot/123-redis-lettuce-config)
        - redis集群实例工程 [spring-boot/124-redis-cluster](spring-boot/124-redis-cluster)
        - 排行榜应用实例工程 [spring-case/120-redis-ranklist](spring-case/120-redis-ranklist)
        - 站点统计应用实例工程 [spring-case/124-redis-sitecount](spring-case/124-redis-sitecount)
- [ ] MemCache
- [ ] InfluxDb
    - [x] 项目工程:[spring-boot/130-influxdb](spring-boot/130-influxdb)
    - [InfluxDB系列博文](https://blog.hhui.top/hexblog/categories/DB/InfluxDB/)
- [x] SpringCache
    - [x] 项目工程:[spring-boot/125-cache-ano](spring-boot/125-cache-ano)
- [ ] 定时器 
- [x] 搜索 ES
    - [x] 项目工程: [spring-boot/142-search-es](spring-boot/142-search-es)
    - [x] [ES系列博文](https://spring.hhui.top/spring-blog/tags/ElasticSearch/)
- [x] 搜索 [Solr](http://spring.hhui.top/spring-blog/tags/Solr/)
    - [x] 项目工程:[spring-boot/140-search-solr](spring-boot/140-search-solr)
    - [x] [基本环境搭建](http://spring.hhui.top/spring-blog/2019/05/10/190510-SpringBoot%E9%AB%98%E7%BA%A7%E7%AF%87%E6%90%9C%E7%B4%A2%E4%B9%8BSolr%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E4%B8%8E%E7%AE%80%E5%8D%95%E6%B5%8B%E8%AF%95/)
    - [x] [新增与修改使用说明](http://spring.hhui.top/spring-blog/2019/05/26/190526-SpringBoot%E9%AB%98%E7%BA%A7%E7%AF%87%E6%90%9C%E7%B4%A2Solr%E4%B9%8B%E6%96%87%E6%A1%A3%E6%96%B0%E5%A2%9E%E4%B8%8E%E4%BF%AE%E6%94%B9%E4%BD%BF%E7%94%A8%E5%A7%BF%E5%8A%BF/) 
    
### III. MVC篇
- [x] 过滤器
    - [x] 项目工程: 
        - 基本使用姿势:[spring-boot/210-web-filter](spring-boot/210-web-filter)
        - filter优先级: [spring-boot/210-web-filter-order](spring-boot/210-web-filter-order)
- [x] 拦截器
    - [x] 项目工程:[spring-boot/213-web-interceptor](spring-boot/213-web-interceptor)
    - [x] 基本使用姿势: [拦截器](https://spring.hhui.top/spring-blog/tags/Interceptor/)
- [x] Get/Post/Put/Delete等http方法支持
- [x] 参数绑定(get/post参数解析,自定义参数解析器)
    - [x] 项目工程: [spring-boot/202-web-params](spring-boot/202-web-params)
    - [x] [请求参数解析姿势大全](http://spring.hhui.top/spring-blog/tags/%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0/)
- [x] 返回相关
    - [x] 数据返回
        - 项目:[spring-boot/207-web-response](spring-boot/207-web-response)
        - [返回数据姿势大全](http://spring.hhui.top/spring-blog/tags/%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE/)
    - [x] 视图绑定, 
        - 项目: [spring-boot/204-web-freemaker](spring-boot/204-web-freemaker) | [spring-boot/204-web-thymeleaf](spring-boot/205-web-thymeleaf) [spring-boot/204-web-beetl](spring-boot/206-web-beetl)
        - [spring & 模板引擎构建web项目](http://spring.hhui.top/spring-blog/tags/%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E/)
    - 返回头
- [x] 异常处理
- [ ] 安全相关(SQL/XSS等注入)
- [ ] 跨域处理
- [ ] WebSocket
    - [x] [websocket基础](http://spring.hhui.top/spring-blog/tags/WebSocket/)
- [ ] reactive
    - [ ] [webflux](https://spring.hhui.top/spring-blog/tags/WebFlux/)
### IV. SpringCloud篇
- [ ] 注册中心
- [ ] 配置中心
- [ ] 网关路由
- [ ] 负载均衡
- [ ] 熔断器
- [ ] 链路监控
- [ ] 安全模块
- [ ] oauth
- [ ] admin
### V. 源码篇
- [ ] xxx
### VI. 项目说明
 项目说明 
| 项目 | 说明 | 知识点 | 
| --- | --- | --- |
| **SpringBoot** | SpringBoot项目 | - |
| [000-properties](spring-boot/000-properties) | 【配置】使用姿势 | `@PropertySource` 指定配置文件,
 `@ConfigurationProperties` 指定配置前缀, 
`@value` 配置绑定|
| [001-properties](spring-boot/001-properties) | 【配置】环境选择 | 配置`spring.profiles.active`指定环境 | 
| [002-properties](spring-boot/002-properties) | 【配置】刷新示例 | SpringCloud生态配置刷新
`@RefreshScope`,`EnvironmentChangeEvent`配置变更事件|
| [002-properties-bind](spring-boot/002-properties-bind) | 【配置】刷新绑定的各种知识点 | `@ConfigurationProperties` |
| [002-dynamic-envronment](spring-boot/002-dynamic-envronment) | 【配置】自定义配置源 | `MapPropertySource` |
| [002-properties-value](spring-boot/002-properties-value) | 【配置】@Value扩展知识点 | `@Value` |
| [003-log](spring-boot/003-log) | 【日志】集成logback | logback日志集成与配置 |
| [003-log4j2](spring-boot/003-log4j2) | 【日志】集成log4j2 | log4j2日志集成与配置 |
| [004-bean](spring-boot/004-bean) | 【bean】使用姿势 | bean三种定义姿势 
 bean三种注入方式 |
| [005-autoconfig](spring-boot/005-autoconfig) | 【bean】自动加载 | `@Configuration`自动加载配置类 |
| [005-config-selector](spring-boot/005-config-selector) | 【bean】选择注入 | `ImportSelector` 选择在接口的多个实现中,具体实例化哪个 |
| [006-dynamicbean](spring-boot/006-dynamicbean) | 【bean】动态注册bean | `BeanDefinitionRegistryPostProcessor` 扩展实现bean动态注册 |
| [007-conditionbean](spring-boot/007-conditionbean) | 【bean】条件注入 | `@Coinditional` 使用姿势 |
| [008-beanorder](spring-boot/008-beanorder)
[008-beanorder-addition](spring-boot/008-beanorder-addition)
 [008-beanorder-addition2](spring-boot/008-beanorder-addition2)| 【bean】加载顺序 | bean加载顺序的反面示例与正确写法 |
| [009-schedule](spring-boot/009-schedule) | 【定时器】定时任务/计划任务 | `@Scheduled` 基本语法与自定义线程池 |
| [010-aop](spring-boot/010-aop) | 【AOP】切面 | aop基本使用姿势与注意事项 |
| [011-aop-logaspect](spring-boot/011-aop-logaspect) | 【AOP】切面 | 实战,日志切面|
| [012-context-listener](spring-boot/012-context-listener) | 【Listener】事件 | ContextListener |
| [013-spel](spring-boot/013-spel) | 【SpEL】 | SpEL语法与实例 |
| [014-spel-aop](spring-boot/014-spel-aop) | 【SpEL】 | SpEL & aop整合时注意事项 |
| [100-h2database](spring-boot/100-h2database) | 【DB】h2database整合 | - |
| [100-mysql](spring-boot/100-mysql) | 【DB】mysql整合 | - |
| [101-jdbctemplate](spring-boot/101-jdbctemplate) | 【DB】jdbctemplate使用姿势 CURD详解 | `JdbcTemplate` |
| [101-jdbctemplate-transaction](spring-boot/101-jdbctemplate-transaction) | 【DB】事务 |`@Transactional`声明式; 编程式事务 
 - 隔离级别 
 传递属性 |
| [102-jpa](spring-boot/102-jpa) | 【DB】 jpa使用姿势 | JPA |
| [102-jpa-errorcase](spring-boot/102-jpa-errorcase) | 【DB】环境配置易错点 | `@EnableJpaRepositories`, `@EntityScan`指定扫描包 |
| [102-jpa-errorcase2](spring-boot/102-jpa-errorcase2) | 【DB】Entity映射错误 | Field映射POJO |
| [103-mybatis-xml](spring-boot/103-mybatis-xml) | 【DB】mybatis xml配置整合方式 | mybatis |
| [104-mybatis-noxml](spring-boot/104-mybatis-noxml) | 【DB】mybatis 注解整合方式 | mybatis |
| [105-mybatis-plus](spring-boot/105-mybatis-plus) | 【DB】mybatis-plus整合 | mybatis-plus |
| [106-mybatis-plus-generator](spring-boot/106-mybatis-plus-generator) | 【DB】mybatis-plus代码自动生成 | mybatis-plus |
| [107-jooq-aop](spring-boot/107-jooq-aop) | 【DB】jooq体验demo,jooq+aop导致项目启动巨慢的坑 | jooq |
| [108-jooq-curd](spring-boot/108-jooq-curd) | 【DB】jooq CURD使用姿势 | jooq |
| [108-jooq-mysql](spring-boot/108-jooq-mysql) | 【DB】jooq代码自动生成 | jooq-code-gen |
| [109-multi-datasource](spring-boot/109-multi-datasource) | 【DB】多数据源配置 | JdbcTemplate, DataSource |
| [109-multi-datasource-mybatis](spring-boot/109-multi-datasource-mybatis) | 【DB】mybatis多数据源配置 | Mybatis DataSource |
| [109-multi-datasource-mybatis-ano](spring-boot/109-multi-datasource-mybatis-ano) | 【DB】mybatis多数据源配置 | Mybatis DataSource |
| [109-multi-datasource-mybatis-plus](spring-boot/109-multi-datasource-mybatis-plus) | 【DB】mybatis-plus多数据源配置 | Mybatis-Plus DataSource |
| [110-mongo-basic](spring-boot/110-mongo-basic) | 【DB】mongodb整合 | mongodb |
| [111-mongo-template](spring-boot/111-mongo-template) | 【DB】mongodb CURD使用姿势 | `MongoTemplate` |
| [120-redis-config](spring-boot/120-redis-config)  | 【redis】环境配置与基本使用 | redis |
| [121-redis-jedis-config](spring-boot/121-redis-jedis-config) |【redis】jedis配置 | jedis |
| [122-redis-template](spring-boot/122-redis-template) | 【redis】RedisTemplate 使用姿势详解 | `RedisTemplate` |
| [123-redis-lettuce-config](spring-boot/123-redis-lettuce-config) | 【redis】lettuce配置 | lettuce |
| [124-redis-cluster](spring-boot/124-redis-cluster) | 【redis】集群使用姿势 | redis集群实例 |
| [125-cache-ano](spring-boot/125-cache-ano) | 【Cache】缓存注解 | Spring缓存注解使用姿势 |
| [130-influxdb](spring-boot/130-influxdb) | 【DB】influxdb整合及CURD | 时序数据库 influxdb |
| [131-influxdb-java](spring-boot/131-influxdb-java) | 【DB】influxdb封装 | 封装更服务SpringBoot规范的`InfluxTemplate`,待实现 |
| [140-search-solr](spring-boot/140-search-solr) | 【Solr】solr环境+CURD使用姿势 | `SolrTemplate`, `SolrClient` |
| [141-search-solr-auth](spring-boot/141-search-solr-auth) | 【Solr】solr开启授权无法更新索引的四种解决方案 | 解决solr更新索引报错问题 |
| [142-search-es](spring-boot/142-search-es) | 【ES】es实例使用demo | ES,权限验证,CURD,高级特性等 `RestHighLevelClient` |
| [150-i18n](spring-boot/150-i18n) | 【i18n】国际化 | 国际化支持 |
| [200-webflux](spring-boot/200-webflux) | 【web】WebFlux实例 | `React` |
| [201-web](spring-boot/201-web) | 【web】basic http实例 | `springmvc` |
| [202-web-params](spring-boot/202-web-params) | 【web】请求参数解析的各种姿势 | get参数解析
post参数解析
自定义参数解析`HandlerMethodArgumentResolver` |
| [202-web-params-validate](spring-boot/202-web-params-validate) | 【web】请求参数校验 | 参数校验validation-api |
| [203-websocket](spring-boot/203-websocket) | 【web】websocket实例 | `WebSocketHandler`, `WebSocketConfigurer` |
| [204-web-static-resources](spring-boot/204-web-static-resources) | 【web】静态资源访问实例 | `WebMvcConfigure`, `spring.resources.static-locations` |
| [204-web-static-resources-ui](spring-boot/204-web-static-resources-ui) | 【web】webjar静态资源 | 第三方jar包提供纯静态资源 |
| [204-web-freemaker](spring-boot/204-web-freemaker) | 【web】freemaker引擎整合 | freemaker |
| [205-web-thymeleaf](spring-boot/205-web-thymeleaf) | 【web】thymeleaf引擎整合 | thymeleaf |
| [206-web-beetl](spring-boot/206-web-beetl) | 【web】beetl引擎整合 | beetl |
| [207-web-response](spring-boot/207-web-response) | 【web】http响应的各种姿势 | 基本数据返回 
 重定向 
 错误页面配置 
 定制http code |
| [208-web-mapping](spring-boot/208-web-mapping) | 【web】自定义url映射规则 | `RequestCondition` |
| [209-web-error](spring-boot/209-web-error) | 【web】全局异常处理 | `ControllerAdvice`, `ExceptionHandler` |
| [210-web-filter](spring-boot/210-web-filter) | 【web】filter使用姿势 | HttpFilter过滤器 |
| [210-web-filter-order](spring-boot/210-web-filter-order) | 【web】filter优先级使用姿势 | `HttpFilter`, `@Order` |
| [211-web-servlet](spring-boot/211-web-servlet) | 【web】servlet使用姿势 | Servlet |
| [212-web-listener](spring-boot/212-web-listener) | 【web】listener知识点 | Listener |
| [219-web-asyn](spring-boot/219-web-asyn) | 【web】异步请求 |`AsyncContext方式` 
 `Callable` 
 `WebAsyncTask` 
`DeferredResult` |
| [220-web-sse](spring-boot/220-web-sse) | 【web】sse 服务器发送事件 |`SseEmitter` |
| [221-web-resttemplate](spring-boot/221-web-resttemplate) | 【web】RestTemplate使用姿势 |`RestTemplate` |
| [222-web-client](spring-boot/222-web-client) | 【web】WebClient使用姿势 |`WebClient` |
| [223-webflux-params](spring-boot/223-webflux-params) | 【web】webflux参数解析实例demo |`webflux` |
| [230-web-resin](spring-boot/230-web-resin) | 【web】resion容器整合 |`resin` |
| [300-rabbitmq](spring-boot/300-rabbitmq) | 【web】rabbitmq整合 | rabbitmq |
| [301-rabbitmq-publish](spring-boot/301-rabbitmq-publish) | 【web】rabbitmq发送消息 | `RabbitTemplate` 
 消息确认模式 
 事务模式 |
| [302-rabbitmq-consumer](spring-boot/302-rabbitmq-consumer) |【web】rabbitmq消费消息姿势 | `@RabbitListener` |
| [400-docker-demo](spring-boot/400-docker-demo) |【docker】docker整合 | `Dockerfile` |
| [410-zookeeper-basic](spring-boot/410-zookeeper-basic) |【中间件】zk使用姿势 | `ZooKeeper` |
| [411-zookeeper-distributelock](spring-boot/411-zookeeper-distributelock) |【中间件】zk 分布式锁 | `DistributeLock` |
|  | | |
| **SpringCase** | 实战/应用演练项目 | - |
| [000-spi-factorybean](spring-case/000-spi-factorybean) | 借助FactoryBean实现SPI效果 | `FactoryBean` |
| [002-dynamic-config](spring-case/002-dynamic-config) 
 [002-dynamic-config-demo](spring-case/002-dynamic-config-demo) | 自定义配置加载与刷新示例工程 | 借助`InstantiationAwareBeanPostProcessorAdapter` + Spring事件机制实现`@Value` `@RefreshScope` |
| [006-importbean](spring-case/006-importbean) | 将非spring项目导入Spring生态 
 自定义注入实例 | `ImportBeanDefinitionRegistrar` |
| [008-bean-order](spring-case/008-bean-order)
[008-bean-order-client](spring-case/008-bean-order-client) | 指定bean加载优先级,让中间件的核心bean优于业务bean被加载 |`InstantiationAwareBeanPostProcessorAdapter`, `@Import` |
| [009-distribute-scheduler-task](spring-case/009-distribute-scheduler-task) | 分布式定时任务mock实例 | AOP实现定时任务选择; 重写`ScheduledAnnotationBeanPostProcessor`扩展定时任务生成 |
| [010-auto-inject](spring-case/010-auto-inject) | 自定义注入实现 | `BeanPostProcessor` 与 代理类创建 |
| [120-redis-ranklist](spring-case/120-redis-ranklist) | redis实现排行榜 | `zset` |
| [124-redis-sitecount](spring-case/124-redis-sitecount) | redis实现站点统计 | `redisTemplate` |
| [125-redis-distribuet-lock](spring-case/125-redis-distribuet-lock) | redis分布式锁 | `redisTemplate` |
| [126-redis-delay-list](spring-case/126-redis-delay-list) | redis实现的演示队列 | `redisTemplate` |
| [201-web-api-version](spring-case/201-web-api-version) | web版本控制 | `RequestMappingHandlerMapping` |
| [202-web-qrcode-login](spring-case/202-web-qrcode-login) | web扫码登录实战 | `SseEmitter` |
| [203-web-rest-adapter](spring-case/203-web-rest-adapter) | url匹配规则自定义,子类继承父类的参数注解 | `RequestMappingHandlerMapping`, `HandlerMethodArgumentResolver` |
| [204-web-request-proxy](spring-case/204-web-request-proxy) | 基于接口的REST访问支持 | `ClassPathBeanDefinitionScanner`, `ImportBeanDefinitionRegistrar` |
| [205-web-rest-enhanced](spring-case/205-web-rest-enhanced) | 单机应用最小成本扩展REST服务示例 | `RequestMappingHandlerMapping` |
| [421-prometheus-metric](spring-case/421-prometheus-metric) | AOP实现自定义的Prometheus埋点上报 | `Prometheus` |
| [430-mail-alarm](spring-case/430-mail-alarm) | 基于日志的邮件报警 | `javaMailSender` |
| | | |
| **SpringSecurity** | 安全 | |
| [000-basic-demo](spring-security/000-basic-demo) | 整合实例 | |
| [001-authentication-mem-config](spring-security/001-authentication-mem-config) | 内存认证 | |
| [001-authentication-mem-userdetail](spring-security/001-authentication-mem-userdetail) | 内存认证 | |
| [002-authentication-db](spring-security/002-authentication-db) | db认证 | |
| [010-accesscontrol-rbac](spring-security/010-accesscontrol-rbac) | rbac 权限管理 | |
| [011-accesscontrol-acl](spring-security/011-accesscontrol-acl) | acl权限管理 | |
| | | |
| **spring-cloud** | 微服务 | |
| [config-server](spring-cloud/config-server) | 配置中心 | spring cloud config|
| [eurka-server](spring-cloud/eurka-server) | 注册中心 | spring cloud eurka |
| [eurka-service-consumer](spring-cloud/eurka-service-consumer) | 服务提供者 | spring cloud eurka |
| [eurka-service-provider](spring-cloud/eurka-service-provider) | 服务消费者 | ribbon feign |
| [gateway](spring-cloud/gateway) | 网关 | spring cloud gateway 网关 |