加入CODE CHINA

· 不限速    · 不限空间    · 不限人数    · 私仓免费

免费加入
    readme.md

    Spring-Boot-Demo

    Build Status Average time to resolve an issue Percentage of issues still open

    SpringBoot + SpringCloud + SpringSecurity学习过程中的源码汇总,沉淀记录下学习历程

    1. 知识点图谱

    所有博文集中发布在个人博客网站 : 一灰灰Blog-Spring

    大致规划的内容包括以下章节,希望能用半年到一年(严重超期)的时间完成....

    I. 基础篇

    II. 高级篇

    III. MVC篇

    IV. SpringCloud篇

    • 注册中心
    • 配置中心
    • 网关路由
    • 负载均衡
    • 熔断器
    • 链路监控
    • 安全模块
    • oauth
    • admin

    V. 源码篇

    • xxx

    VI. 项目说明

    项目 说明 知识点
    SpringBoot SpringBoot项目 -
    000-properties 【配置】使用姿势 @PropertySource 指定配置文件,
    @ConfigurationProperties 指定配置前缀,
    @value 配置绑定
    001-properties 【配置】环境选择 配置spring.profiles.active指定环境
    002-properties 【配置】刷新示例 SpringCloud生态配置刷新
    @RefreshScopeEnvironmentChangeEvent配置变更事件
    002-properties-bind 【配置】刷新绑定的各种知识点 @ConfigurationProperties
    002-dynamic-envronment 【配置】自定义配置源 MapPropertySource
    002-properties-value 【配置】@Value扩展知识点 @Value
    003-log 【日志】集成logback logback日志集成与配置
    003-log4j2 【日志】集成log4j2 log4j2日志集成与配置
    004-bean 【bean】使用姿势 bean三种定义姿势
    bean三种注入方式
    005-autoconfig 【bean】自动加载 @Configuration自动加载配置类
    005-config-selector 【bean】选择注入 ImportSelector 选择在接口的多个实现中,具体实例化哪个
    006-dynamicbean 【bean】动态注册bean BeanDefinitionRegistryPostProcessor 扩展实现bean动态注册
    007-conditionbean 【bean】条件注入 @Coinditional 使用姿势
    008-beanorder
    008-beanorder-addition
    008-beanorder-addition2
    【bean】加载顺序 bean加载顺序的反面示例与正确写法
    009-schedule 【定时器】定时任务/计划任务 @Scheduled 基本语法与自定义线程池
    010-aop 【AOP】切面 aop基本使用姿势与注意事项
    011-aop-logaspect 【AOP】切面 实战,日志切面
    012-context-listener 【Listener】事件 ContextListener
    013-spel 【SpEL】 SpEL语法与实例
    014-spel-aop 【SpEL】 SpEL & aop整合时注意事项
    100-h2database 【DB】h2database整合 -
    100-mysql 【DB】mysql整合 -
    101-jdbctemplate 【DB】jdbctemplate使用姿势 CURD详解 JdbcTemplate
    101-jdbctemplate-transaction 【DB】事务 @Transactional声明式; 编程式事务
    - 隔离级别
    传递属性
    102-jpa 【DB】 jpa使用姿势 JPA
    102-jpa-errorcase 【DB】环境配置易错点 @EnableJpaRepositories, @EntityScan指定扫描包
    102-jpa-errorcase2 【DB】Entity映射错误 Field映射POJO
    103-mybatis-xml 【DB】mybatis xml配置整合方式 mybatis
    104-mybatis-noxml 【DB】mybatis 注解整合方式 mybatis
    105-mybatis-plus 【DB】mybatis-plus整合 mybatis-plus
    106-mybatis-plus-generator 【DB】mybatis-plus代码自动生成 mybatis-plus
    107-jooq-aop 【DB】jooq体验demo,jooq+aop导致项目启动巨慢的坑 jooq
    108-jooq-curd 【DB】jooq CURD使用姿势 jooq
    108-jooq-mysql 【DB】jooq代码自动生成 jooq-code-gen
    109-multi-datasource 【DB】多数据源配置 JdbcTemplate, DataSource
    109-multi-datasource-mybatis 【DB】mybatis多数据源配置 Mybatis DataSource
    109-multi-datasource-mybatis-ano 【DB】mybatis多数据源配置 Mybatis DataSource
    109-multi-datasource-mybatis-plus 【DB】mybatis-plus多数据源配置 Mybatis-Plus DataSource
    110-mongo-basic 【DB】mongodb整合 mongodb
    111-mongo-template 【DB】mongodb CURD使用姿势 MongoTemplate
    120-redis-config 【redis】环境配置与基本使用 redis
    121-redis-jedis-config 【redis】jedis配置 jedis
    122-redis-template 【redis】RedisTemplate 使用姿势详解 RedisTemplate
    123-redis-lettuce-config 【redis】lettuce配置 lettuce
    124-redis-cluster 【redis】集群使用姿势 redis集群实例
    130-influxdb 【DB】influxdb整合及CURD 时序数据库 influxdb
    131-influxdb-java 【DB】influxdb封装 封装更服务SpringBoot规范的InfluxTemplate,待实现
    140-search-solr 【Solr】solr环境+CURD使用姿势 SolrTemplate, SolrClient
    141-search-solr-auth 【Solr】solr开启授权无法更新索引的四种解决方案 解决solr更新索引报错问题
    150-i18n 【i18n】国际化 国际化支持
    200-webflux 【web】WebFlux实例 React
    201-web 【web】basic http实例 springmvc
    202-web-params 【web】请求参数解析的各种姿势 get参数解析
    post参数解析
    自定义参数解析HandlerMethodArgumentResolver
    202-web-params-validate 【web】请求参数校验 参数校验validation-api
    203-websocket 【web】websocket实例 WebSocketHandler, WebSocketConfigurer
    204-web-static-resources 【web】静态资源访问实例 WebMvcConfigure, spring.resources.static-locations
    204-web-static-resources-ui 【web】webjar静态资源 第三方jar包提供纯静态资源
    204-web-freemaker 【web】freemaker引擎整合 freemaker
    205-web-thymeleaf 【web】thymeleaf引擎整合 thymeleaf
    206-web-beetl 【web】beetl引擎整合 beetl
    207-web-response 【web】http响应的各种姿势 基本数据返回
    重定向
    错误页面配置
    定制http code
    208-web-mapping 【web】自定义url映射规则 RequestCondition
    209-web-error 【web】全局异常处理 ControllerAdvice, ExceptionHandler
    210-web-filter 【web】filter使用姿势 HttpFilter过滤器
    210-web-filter-order 【web】filter优先级使用姿势 HttpFilter, @Order
    211-web-servlet 【web】servlet使用姿势 Servlet
    212-web-listener 【web】listener知识点 Listener
    219-web-asyn 【web】异步请求 AsyncContext方式
    Callable
    WebAsyncTask
    DeferredResult
    220-web-sse 【web】sse 服务器发送事件 SseEmitter
    221-web-resttemplate 【web】RestTemplate使用姿势 RestTemplate
    222-web-client 【web】WebClient使用姿势 WebClient
    223-webflux-params 【web】webflux参数解析实例demo webflux
    230-web-resin 【web】resion容器整合 resin
    300-rabbitmq 【web】rabbitmq整合 rabbitmq
    301-rabbitmq-publish 【web】rabbitmq发送消息 RabbitTemplate
    消息确认模式
    事务模式
    302-rabbitmq-consumer 【web】rabbitmq消费消息姿势 @RabbitListener
    400-docker-demo 【docker】docker整合 Dockerfile
    410-zookeeper-basic 【中间件】zk使用姿势 ZooKeeper
    411-zookeeper-distributelock 【中间件】zk 分布式锁 DistributeLock
    SpringCase 实战/应用演练项目 -
    000-spi-factorybean 借助FactoryBean实现SPI效果 FactoryBean
    002-dynamic-config
    002-dynamic-config-demo
    自定义配置加载与刷新示例工程 借助InstantiationAwareBeanPostProcessorAdapter + Spring事件机制实现@Value @RefreshScope
    006-importbean 将非spring项目导入Spring生态
    自定义注入实例
    ImportBeanDefinitionRegistrar
    008-bean-order
    008-bean-order-client
    指定bean加载优先级,让中间件的核心bean优于业务bean被加载 InstantiationAwareBeanPostProcessorAdapter, @Import
    009-distribute-scheduler-task 分布式定时任务mock实例 AOP实现定时任务选择; 重写ScheduledAnnotationBeanPostProcessor扩展定时任务生成
    010-auto-inject 自定义注入实现 BeanPostProcessor 与 代理类创建
    120-redis-ranklist redis实现排行榜 zset
    124-redis-sitecount redis实现站点统计 redisTemplate
    125-redis-distribuet-lock redis分布式锁 redisTemplate
    201-web-api-version web版本控制 RequestMappingHandlerMapping
    202-web-qrcode-login web扫码登录实战 SseEmitter
    203-web-rest-adapter url匹配规则自定义,子类继承父类的参数注解 RequestMappingHandlerMapping, HandlerMethodArgumentResolver
    204-web-request-proxy 基于接口的REST访问支持 ClassPathBeanDefinitionScanner, ImportBeanDefinitionRegistrar
    205-web-rest-enhanced 单机应用最小成本扩展REST服务示例 RequestMappingHandlerMapping
    SpringSecurity 安全
    000-basic-demo 整合实例
    001-authentication-mem-config 内存认证
    001-authentication-mem-userdetail 内存认证
    002-authentication-db db认证
    010-accesscontrol-rbac rbac 权限管理
    011-accesscontrol-acl acl权限管理
    spring-cloud 微服务
    config-server 配置中心 spring cloud config
    eurka-server 注册中心 spring cloud eurka
    eurka-service-consumer 服务提供者 spring cloud eurka
    eurka-service-provider 服务消费者 ribbon feign
    gateway 网关 spring cloud gateway 网关

    2. 系列博文

    0. 实战系列

    1. 【SpringBoot实战】Bean之注销与动态注册实现服务mock
    2. 【SpringBoot实战】FactoryBean及代理实现SPI机制的实例
    3. 【SpringBoot实战】借助Redis实现排行榜功能
    4. 【SpringBoot实战】借助Redis搭建一个简单站点统计服务
    5. 【SpringBoot实战】AOP实现日志功能
    6. 【SpringBoot实战】徒手撸一个扫码登录示例工程
    7. 【SpringBoot实战】mock一个简单的分布式定时任务
    8. 【SpringBoot实战】Redis实现分布式锁(应用篇)

    1. 基础系列

    基础系列博文包括 AOP, IoC(DI,Bean), 日志, 自动配置等

    配置

    IoC(DI/bean)

    AOP相关

    日志

    定时任务

    SpEL

    事件

    国际化

    2. DB系列

    我们将db区分为传统的关系型数据库如mysql,NoSql如redis、mongodb,时序数据库influxdb

    h2database

    MongoDB

    redis

    mysql

    分别介绍多种不同的操作姿势

    JdbcTemplate

    jpa

    mybatis

    事务

    采坑、填坑

    jooq

    3. 搜索系列

    搜索主要会区分solr和es

    solr

    4. MQ系列

    消息队列,如rabbitmq, rocketmq, activemq, kafaka

    rabbitmq

    5. WEB系列

    web系列的东西就比较多了,基本上日常开发中,你需要的都会有;你没用过的也会有

    采坑、填坑

    应用实战

    WebFlux系列

    由于WebFlux和SpringMVC在一些基础上差别较大,单独开一个系列教程版块

    webclient异步网络请求

    6. SpringSecurity系列

    记录SpringSecurity相关的所有技术文章,分类汇总如下,持续更新中

    简单抽象的说一下SpringSecurity它的定义

    • 🐂的认证和访问权限校验框架

    那么具体能干嘛?

    • 用户登录认证:用户名+密码登录,确定用户身份
    • 用户访问鉴权(常见的ACL访问控制列表,RBAC角色访问控制):判定是否有权限访问某个资源
    • 安全保护(CSRF跨站点攻击,Session Fixation会话固定攻击…)

    相关博文

    7. SpringCloud系列

    微服务系列

    Eureka系列

    踩坑、填坑

    8. 运维

    docker

    9. 中间件

    zookeeper

    3. 其他

    拒绝单机,欢迎start或者加好友支持

    声明

    尽信书则不如,已上内容,一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

    • 微博地址: 小灰灰Blog
    • QQ: 一灰灰/3302797840
    • WeChat: 一灰/liuyueyi25

    扫描关注

    公众号&博客

    QrCode

    打赏码

    pay

    项目简介

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/liuyueyi/spring-boot-demo

    发行版本

    当前项目没有发行版本

    贡献者 1

    开发语言

    • Java 97.5 %
    • HTML 1.4 %
    • Shell 0.6 %
    • FreeMarker 0.2 %
    • JavaScript 0.1 %