前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >组件分享之Java组件——springboot各种使用demo大合集

组件分享之Java组件——springboot各种使用demo大合集

作者头像
cn華少
发布2022-03-06 09:14:38
1.3K0
发布2022-03-06 09:14:38
举报
文章被收录于专栏:IT综合技术分享

组件分享之Java组件——springboot各种使用demo大合集

背景

近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。

组件基本信息

内容

这次分享的组件是一个基于springboot整合出来的demo合集仓库组件,以下是其组件介绍:

项目简介 spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 66 个集成demo,已经完成 55 个。 该项目已成功集成 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、Flyway(数据库初始化)、UReport2(中国式复杂报表)。

分支介绍

  • master 分支:基于 Spring Boot 版本 2.1.0.RELEASE,每个 Module 的 parent 依赖根目录下的 pom.xml,主要用于管理每个 Module 的通用依赖版本,方便大家学习。
  • v-1.5.x 分支:基于 Spring Boot 版本 1.5.8.RELEASE,每个 Module 均依赖 spring-boot-demo-parent,有挺多同学们反映这种方式对新手不是很友好,运行起来有些难度,因此 此分支(v-1.5.x)会停止开发维护 ,所有内容会慢慢以 master 分支的形式同步过去,此分支暂未完成的,也会直接在 master 分支上加,在此分支学习的同学们,仍然可以在此分支学习,但是建议后期切换到master分支,会更加容易,毕竟官方已经将 Spring Boot 升级到 2.x 版本。

开发环境

  • JDK 1.8 +
  • Maven 3.5 +
  • IntelliJ IDEA ULTIMATE 2018.2 + (注意:务必使用 IDEA 开发,同时保证安装 lombok 插件)
  • Mysql 5.7 + (尽量保证使用 5.7 版本以上,因为 5.7 版本加了一些新特性,同时不向下兼容。本 demo 里会尽量避免这种不兼容的地方,但还是建议尽量保证 5.7 版本以上)

各 Module 介绍

Module 名称

Module 介绍

demo-helloworld

spring-boot 的一个 helloworld

demo-properties

spring-boot 读取配置文件中的内容

demo-actuator

spring-boot 集成 spring-boot-starter-actuator 用于监控 spring-boot 的启动和运行状态

demo-admin-client

spring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用,客户端示例

demo-admin-server

spring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用,服务端示例

demo-logback

spring-boot 集成 logback 日志

demo-log-aop

spring-boot 使用 AOP 切面的方式记录 web 请求日志

demo-exception-handler

spring-boot 统一异常处理,包括2种,第一种返回统一的 json 格式,第二种统一跳转到异常页面

demo-template-freemarker

spring-boot 集成 Freemarker 模板引擎

demo-template-thymeleaf

spring-boot 集成 Thymeleaf 模板引擎

demo-template-beetl

spring-boot 集成 Beetl 模板引擎

demo-template-enjoy

spring-boot 集成 Enjoy 模板引擎

demo-orm-jdbctemplate

spring-boot 集成 Jdbc Template 操作数据库,并简易封装通用 Dao 层

demo-orm-jpa

spring-boot 集成 spring-boot-starter-data-jpa 操作数据库

demo-orm-mybatis

spring-boot 集成原生mybatis,使用 mybatis-spring-boot-starter 集成

demo-orm-mybatis-mapper-page

spring-boot 集成通用Mapper和PageHelper,使用 mapper-spring-boot-starter 和 pagehelper-spring-boot-starter 集成

demo-orm-mybatis-plus

spring-boot 集成 mybatis-plus,使用 mybatis-plus-boot-starter 集成,集成 BaseMapper、BaseService、ActiveRecord 操作数据库

demo-orm-beetlsql

spring-boot 集成 beetl-sql,使用 beetl-framework-starter 集成

demo-upload

spring-boot 文件上传示例,包含本地文件上传以及七牛云文件上传

demo-cache-redis

spring-boot 整合 redis,操作redis中的数据,并使用redis缓存数据

demo-cache-ehcache

spring-boot 整合 ehcache,使用 ehcache 缓存数据

demo-email

spring-boot 整合 email,包括发送简单文本邮件、HTML邮件(包括模板HTML邮件)、附件邮件、静态资源邮件

demo-task

spring-boot 快速实现定时任务

demo-task-quartz

spring-boot 整合 quartz,并实现对定时任务的管理,包括新增定时任务,删除定时任务,暂停定时任务,恢复定时任务,修改定时任务启动时间,以及定时任务列表查询,提供前端页面

demo-task-xxl-job

spring-boot 整合xxl-job,并提供绕过 xxl-job-admin 对定时任务的管理的方法,包括定时任务列表,触发器列表,新增定时任务,删除定时任务,停止定时任务,启动定时任务,修改定时任务,手动触发定时任务

demo-swagger

spring-boot 集成原生的 swagger 用于统一管理、测试 API 接口

demo-swagger-beauty

spring-boot 集成第三方 swagger swagger-bootstrap-ui 美化API文档样式,用于统一管理、测试 API 接口

demo-rbac-security

spring-boot 集成 spring security 完成基于RBAC权限模型的权限管理,支持自定义过滤请求,动态权限认证,使用 JWT 安全认证,支持在线人数统计,手动踢出用户等操作

demo-rbac-shiro

spring-boot 集成 shiro 实现权限管理

待完成

demo-session

spring-boot 集成 Spring Session 实现Session共享、重启程序Session不失效

demo-oauth

spring-boot 实现 oauth 服务器功能,实现授权码机制

待完成

demo-social

spring-boot 集成第三方登录,集成 justauth-spring-boot-starter 实现QQ登录、GitHub登录、微信登录、谷歌登录、微软登录、小米登录、企业微信登录。

demo-zookeeper

spring-boot 集成 Zookeeper 结合AOP实现分布式锁

demo-mq-rabbitmq

spring-boot 集成 RabbitMQ 实现基于直接队列模式、分列模式、主题模式、延迟队列的消息发送和接收

demo-mq-rocketmq

spring-boot 集成 RocketMQ,实现消息的发送和接收

待完成

demo-mq-kafka

spring-boot 集成 kafka,实现消息的发送和接收

demo-websocket

spring-boot 集成 websocket,后端主动推送前端服务器运行信息

demo-websocket-socketio

spring-boot 使用 netty-socketio 集成 websocket,实现一个简单的聊天室

demo-ureport2

spring-boot 集成 ureport2 实现复杂的自定义的中国式报表

待完成

demo-uflo

spring-boot 集成 uflo 快速实现轻量级流程引擎

待完成

demo-urule

spring-boot 集成 urule 快速实现规则引擎

待完成

demo-activiti

spring-boot 集成 activiti 7 流程引擎

待完成

demo-async

spring-boot 使用原生提供的异步任务支持,实现异步执行任务

demo-war

spring-boot 打成 war 包的配置

demo-elasticsearch

spring-boot 集成 ElasticSearch,集成 spring-boot-starter-data-elasticsearch 完成对 ElasticSearch 的高级使用技巧,包括创建索引、配置映射、删除索引、增删改查基本操作、复杂查询、高级查询、聚合查询等

demo-dubbo

spring-boot 集成 Dubbo,分别为公共模块 spring-boot-demo-dubbo-common、服务提供方spring-boot-demo-dubbo-provider、服务调用方spring-boot-demo-dubbo-consumer

demo-mongodb

spring-boot 集成 MongoDB,使用官方的 starter 实现增删改查

demo-neo4j

spring-boot 集成 Neo4j 图数据库,实现一个校园人物关系网的demo

demo-docker

spring-boot 容器化

demo-multi-datasource-jpa

spring-boot 使用JPA集成多数据源

demo-multi-datasource-mybatis

spring-boot 使用Mybatis集成多数据源,使用 Mybatis-Plus 提供的开源解决方案实现

demo-sharding-jdbc

spring-boot 使用 sharding-jdbc 实现分库分表,同时ORM采用 Mybatis-Plus

demo-tio

spring-boot 集成 tio 网络编程框架

待完成

demo-grpc

spring-boot 集成grpc,配置tls/ssl,参见ISSUE#5

待完成

demo-codegen

spring-boot 集成 velocity 模板技术实现的代码生成器,简化开发

demo-graylog

spring-boot 集成 graylog 实现日志统一收集

demo-sso

spring-boot 集成 SSO 单点登录,参见 ISSUE#12

待完成

demo-ldap

spring-boot 集成 LDAP,集成 spring-boot-starter-data-ldap 完成对 Ldap 的基本 CURD操作, 并给出以登录为实战的 API 示例,参见 ISSUE#23,感谢 @fxbin

demo-dynamic-datasource

spring-boot 动态添加数据源、动态切换数据源

demo-ratelimit-guava

spring-boot 使用 Guava RateLimiter 实现单机版限流,保护 API

demo-ratelimit-redis

spring-boot 使用 Redis + Lua 脚本实现分布式限流,保护 API

demo-https

spring-boot 集成 HTTPS

demo-elasticsearch-rest-high-level-client

spring boot 集成 ElasticSearch 7.x 版本,使用官方 Rest High Level Client 操作 ES 数据

demo-flyway

spring boot 集成 Flyway,项目启动时初始化数据库表结构,同时支持数据库脚本版本控制

demo-ureport2

spring boot 集成 Ureport2,实现中国式复杂报表设计

本文声明:

本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022.01.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 组件分享之Java组件——springboot各种使用demo大合集
    • 背景
      • 组件基本信息
        • 内容
          • 各 Module 介绍
      相关产品与服务
      腾讯云 BI
      腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档