Git Product home page Git Product logo

sb-demo's Introduction

项目简介

spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 65 个集成demo,已经完成 53 个。

该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy(模板引擎)、JdbcTemplate(通用JDBC操作数据库)、JPA(强大的ORM框架)、mybatis(强大的ORM框架)、通用Mapper(快速操作Mybatis)、PageHelper(通用的Mybatis分页插件)、mybatis-plus(快速操作Mybatis)、BeetlSQL(强大的ORM框架)、upload(本地文件上传和七牛云文件上传)、redis(缓存)、ehcache(缓存)、email(发送各种类型邮件)、task(基础定时任务)、quartz(动态管理定时任务)、xxl-job(分布式定时任务)、swagger(API接口管理测试)、security(基于RBAC的动态权限认证)、SpringSession(Session共享)、Zookeeper(结合AOP实现分布式锁)、RabbitMQ(消息队列)、Kafka(消息队列)、websocket(服务端推送监控服务器运行信息)、socket.io(聊天室)、ureport2(**式报表)、打包成war文件、集成 ElasticSearch(基本操作和高级查询)、Async(异步任务)、集成Dubbo(采用官方的starter)、MongoDB(文档数据库)、neo4j(图数据库)、docker(容器化)、JPA多数据源Mybatis多数据源代码生成器、GrayLog(日志收集)、JustAuth(第三方登录)、LDAP(增删改查)、动态添加/切换数据源、单机限流(AOP + Guava RateLimiter)、分布式限流(AOP + Redis + Lua)、ElasticSearch 7.x(使用官方 Rest High Level Client)、HTTPS。

各 Module 介绍

Module 名称 Module 介绍
sb-demo-01-helloworld spring-boot 的一个 helloworld
sb-demo-02-properties spring-boot 读取配置文件中的内容
sb-demo-03-actuator spring-boot 集成 spring-boot-starter-actuator 用于监控 spring-boot 的启动和运行状态
sb-demo-04-admin-client spring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用,客户端示例
sb-demo-04-admin-server spring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用,服务端示例
sb-demo-05-logback spring-boot 集成 logback 日志
sb-demo-06-log-aop spring-boot 使用 AOP 切面的方式记录 web 请求日志
spring-boot-demo-exception-handler spring-boot 统一异常处理,包括2种,第一种返回统一的 json 格式,第二种统一跳转到异常页面
spring-boot-demo-template-freemarker spring-boot 集成 Freemarker 模板引擎
spring-boot-demo-template-thymeleaf spring-boot 集成 Thymeleaf 模板引擎
spring-boot-demo-template-beetl spring-boot 集成 Beetl 模板引擎
spring-boot-demo-template-enjoy spring-boot 集成 Enjoy 模板引擎
spring-boot-demo-orm-jdbctemplate spring-boot 集成 Jdbc Template 操作数据库,并简易封装通用 Dao 层
spring-boot-demo-orm-jpa spring-boot 集成 spring-boot-starter-data-jpa 操作数据库
spring-boot-demo-orm-mybatis spring-boot 集成原生mybatis,使用 mybatis-spring-boot-starter 集成
spring-boot-demo-orm-mybatis-mapper-page spring-boot 集成通用MapperPageHelper,使用 mapper-spring-boot-starterpagehelper-spring-boot-starter 集成
spring-boot-demo-orm-mybatis-plus spring-boot 集成 mybatis-plus,使用 mybatis-plus-boot-starter 集成,集成 BaseMapper、BaseService、ActiveRecord 操作数据库
spring-boot-demo-orm-beetlsql spring-boot 集成 beetl-sql,使用 beetl-framework-starter 集成
spring-boot-demo-upload spring-boot 文件上传示例,包含本地文件上传以及七牛云文件上传
spring-boot-demo-cache-redis spring-boot 整合 redis,操作redis中的数据,并使用redis缓存数据
spring-boot-demo-cache-ehcache spring-boot 整合 ehcache,使用 ehcache 缓存数据
spring-boot-demo-email spring-boot 整合 email,包括发送简单文本邮件、HTML邮件(包括模板HTML邮件)、附件邮件、静态资源邮件
spring-boot-demo-task spring-boot 快速实现定时任务
spring-boot-demo-task-quartz spring-boot 整合 quartz,并实现对定时任务的管理,包括新增定时任务,删除定时任务,暂停定时任务,恢复定时任务,修改定时任务启动时间,以及定时任务列表查询,提供前端页面
spring-boot-demo-task-xxl-job spring-boot 整合xxl-job,并提供绕过 xxl-job-admin 对定时任务的管理的方法,包括定时任务列表,触发器列表,新增定时任务,删除定时任务,停止定时任务,启动定时任务,修改定时任务,手动触发定时任务
spring-boot-demo-swagger spring-boot 集成原生的 swagger 用于统一管理、测试 API 接口
spring-boot-demo-swagger-beauty spring-boot 集成第三方 swagger swagger-bootstrap-ui 美化API文档样式,用于统一管理、测试 API 接口
spring-boot-demo-rbac-security spring-boot 集成 spring security 完成基于RBAC权限模型的权限管理,支持自定义过滤请求,动态权限认证,使用 JWT 安全认证,支持在线人数统计,手动踢出用户等操作
spring-boot-demo-rbac-shiro spring-boot 集成 shiro 实现权限管理
待完成
spring-boot-demo-session spring-boot 集成 Spring Session 实现Session共享、重启程序Session不失效
spring-boot-demo-oauth spring-boot 实现 oauth 服务器功能,实现授权码机制
待完成
spring-boot-demo-social spring-boot 集成第三方登录,集成 justauth-spring-boot-starter 实现QQ登录、GitHub登录、微信登录、谷歌登录、微软登录、小米登录、企业微信登录。
spring-boot-demo-zookeeper spring-boot 集成 Zookeeper 结合AOP实现分布式锁
spring-boot-demo-mq-rabbitmq spring-boot 集成 RabbitMQ 实现基于直接队列模式、分列模式、主题模式、延迟队列的消息发送和接收
spring-boot-demo-mq-rocketmq spring-boot 集成 RocketMQ,实现消息的发送和接收
待完成
spring-boot-demo-mq-kafka spring-boot 集成 kafka,实现消息的发送和接收
spring-boot-demo-websocket spring-boot 集成 websocket,后端主动推送前端服务器运行信息
spring-boot-demo-websocket-socketio spring-boot 使用 netty-socketio 集成 websocket,实现一个简单的聊天室
spring-boot-demo-ureport2 spring-boot 集成 ureport2 实现复杂的自定义的**式报表
待完成
spring-boot-demo-uflo spring-boot 集成 uflo 快速实现轻量级流程引擎
待完成
spring-boot-demo-urule spring-boot 集成 urule 快速实现规则引擎
待完成
spring-boot-demo-activiti spring-boot 集成 activiti 7 流程引擎
待完成
spring-boot-demo-async spring-boot 使用原生提供的异步任务支持,实现异步执行任务
spring-boot-demo-war spring-boot 打成 war 包的配置
spring-boot-demo-elasticsearch spring-boot 集成 ElasticSearch,集成 spring-boot-starter-data-elasticsearch 完成对 ElasticSearch 的高级使用技巧,包括创建索引、配置映射、删除索引、增删改查基本操作、复杂查询、高级查询、聚合查询等
spring-boot-demo-dubbo spring-boot 集成 Dubbo,分别为公共模块 spring-boot-demo-dubbo-common、服务提供方spring-boot-demo-dubbo-provider、服务调用方spring-boot-demo-dubbo-consumer
spring-boot-demo-mongodb spring-boot 集成 MongoDB,使用官方的 starter 实现增删改查
spring-boot-demo-neo4j spring-boot 集成 Neo4j 图数据库,实现一个校园人物关系网的demo
spring-boot-demo-docker spring-boot 容器化
spring-boot-demo-multi-datasource-jpa spring-boot 使用JPA集成多数据源
spring-boot-demo-multi-datasource-mybatis spring-boot 使用Mybatis集成多数据源,使用 Mybatis-Plus 提供的开源解决方案实现
spring-boot-demo-sharding-jdbc spring-boot 使用 sharding-jdbc 实现分库分表,同时ORM采用 Mybatis-Plus
spring-boot-demo-tio spring-boot 集成 tio 网络编程框架
待完成
spring-boot-demo-grpc spring-boot 集成grpc,配置tls/ssl,参见ISSUE#5
待完成
spring-boot-demo-codegen spring-boot 集成 velocity 模板技术实现的代码生成器,简化开发
spring-boot-demo-graylog spring-boot 集成 graylog 实现日志统一收集
spring-boot-demo-sso spring-boot 集成 SSO 单点登录,参见 ISSUE#12
待完成
spring-boot-demo-ldap spring-boot 集成 LADP,集成 spring-boot-starter-data-ldap 完成对 Ldap 的基本 CURD操作, 并给出以登录为实战的 API 示例,参见 ISSUE#23,感谢 @fxbin
spring-boot-demo-dynamic-datasource spring-boot 动态添加数据源、动态切换数据源
spring-boot-demo-ratelimit-guava spring-boot 使用 Guava RateLimiter 实现单机版限流,保护 API
spring-boot-demo-ratelimit-redis spring-boot 使用 Redis + Lua 脚本实现分布式限流,保护 API
spring-boot-demo-https spring-boot 集成 HTTPS
spring-boot-demo-elasticsearch-rest-high-level-client spring boot 集成 ElasticSearch 7.x 版本,使用官方 Rest High Level Client 操作 ES 数据

官方提供的 starter 介绍

名称 描述
spring-boot-starter Spring Boot 核心包,包括自动装配,日志,以及YAML文件解析
spring-boot-starter-actuator 帮助在生产环境下监控和管理 Spring Boot 应用
spring-boot-starter-amqp Spring Boot 快速集成 RabbitMQ
spring-boot-starter-aop 提供切面编程特性,包含 spring-aop 和 AspectJ 依赖
spring-boot-starter-batch 快速集成 Spring Batch 批处理框架,包括操作 HSQLDB 数据库
spring-boot-starter-cache Support for Spring’s Cache abstraction.
spring-boot-starter-data-elasticsearch Spring Boot 快速集成 ElasticSearch 查询分析引擎
spring-boot-starter-data-jpa Spring Boot 快速集成 JPA 操作数据库
spring-boot-starter-data-mongodb Spring Boot 快速集成 MongoDB 非关系型数据库
spring-boot-starter-data-rest Spring Boot 暴露数据库查询端点为 REST 服务
spring-boot-starter-data-solr Spring Boot 快速集成 Solr 实现全文索引
spring-boot-starter-freemarker 提供 FreeMarker 模板引擎
spring-boot-starter-groovy-templates 提供 Groovy 模板引擎
spring-boot-starter-integration 提供通用的集成 spring-integration 模块
spring-boot-starter-jdbc 快速集成 JDBC 操作数据库
spring-boot-starter-jersey 提供 Jersey 提供 RESTful 服务
spring-boot-starter-jta-atomikos 集成 JTA Atomikos 实现分布式事务
spring-boot-starter-jta-bitronix 集成 JTA Bitronix 实现分布式事务
spring-boot-starter-mail 快速邮件集成
spring-boot-starter-mustache 提供 Mustache 模板引擎
spring-boot-starter-redis Spring Boot 快速集成 Redis
spring-boot-starter-security Support for spring-security.
spring-boot-starter-social-facebook Support for spring-social-facebook.
spring-boot-starter-social-linkedin Support for spring-social-linkedin.
spring-boot-starter-social-twitter Support for spring-social-twitter.
spring-boot-starter-test 提供通用单元测试依赖,包括 JUnit, Hamcrest , Mockito
spring-boot-starter-thymeleaf 提供 Thymeleaf 模板引擎,包括 Thymeleaf 的自动装配等
spring-boot-starter-velocity 提供 Velocity 模板引擎
spring-boot-starter-web 提供全栈的 web 开发特性,包括 Spring MVC 依赖和 Tomcat 容器
spring-boot-starter-websocket Spring Boot 集成 WebSocket 功能
spring-boot-starter-ws Spring Boot 集成 WebService 功能

开源推荐

sb-demo's People

Contributors

guanqing123 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.