打造Spring Boot应用时常用到的轮子

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

文章目录

前言

如何打造一款完备的、可复制的SpringBoot应用

所谓完备就是功能齐全包含用户登录和权限管理基本对象的管理这个基本对象可以是商品也可以是博客有缓存有定时任务有上传下载有API。简而言之涵盖了常规web应用的方方面面。

可复制就是我这个应用摇身一变可以是博客系统可以是CMS也可以是论坛和电子商城。

有时把符合上述特征的应用成为万能应用。某宝上经常有小公司出售这类应用。

万能的SpringBoot应用包含哪些组件?

名称功能
1代码生成器正反双向+快速表单构建器freemaker模版技术, 0行代码,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块
2多数据源支持同时连接无数个数据库可以不同的模块连接不同数的据库支持N个数据源
3druid阿里数据库连接池
4shiro安全权限框架菜单权限和按钮权限
5ehcache缓存框架
6代码编辑器在线模版编辑仿开发工具编辑器
7摄像头功能调用摄像头拍照, 自定义裁剪编辑头像头像图片色度调节
8websocket及时站内信并声音提醒、实时在线管理、websocket及时刷新页面完胜ajax技术更新即时通讯功能支持好友群组发图片、文件消息声音提醒离线消息 保留聊天记录

其它系统模块

名称功能
1权限管理点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增删改查权限。一个用户可以多个角色 按钮权限: 给角色分配按钮权限。
2按钮管理自定义按钮管理维护按钮shiro权限标识等
3菜单管理N级别自定义菜单选择菜单图标菜单状态显示隐藏递归处理
4数据字典N级别支持多级别分类。内设编号排序等
5日志管理记录用户登录退出和一些重要操作记录
6在线管理websocket技术实时检测在线用户列表统计在线人数,可强制用户下线 同一用户只能在一个客户端登录
7系统用户对各个基本的用户增删改查导出到excel表格批量删除
8代码生成生成完整的模块代码并保留生成记录模版可复用 超强悍开发利器 正向生成: 生成完整的模块页面、处理类、mapper层、service层、myabaits的xml 建表的sql脚本等 反向生成: 任意连接其它数据库(mysql、oracle、sqlserver)根据表反射生成本系统的模块
9模版管理代码在线编辑器管理模版保存编辑记录一键还原代码生成器如虎添翼
10性能监控监控整个系统的性能SQL监控SQL防火墙URL监控SPRING监控SESSION监控等
11系统设置修改系统名称每页显示条数, 邮件服务配置站内信配置
12站内信收信箱和发信箱websocket技术通讯技术做的及时收信提醒可配置语音提示来信通讯模块 单聊群聊发图片发文件 离线消息保留聊天记录
13好友管理搜索、添加、删除、拉黑好友查看好友资料
14好友分组自定义好友分组
15我的群组创建群组搜索申请加入别人的群踢出群成员管理群聊天记录
16数据库备份可备份单表(sqlserver不支持)、整库支持本地和远程备份(java界面编程技术socket编程技术)
17备份定时器quartz 强大的任务调度多线程备份数据库任务启动关闭异步操作
18数据库还原历史备份记录还原数据库 or 单表(sqlserver不支持)统计备份时间和文件大小
19SQL编辑器强大的SQL编辑器支持编辑语句复杂查询语句生成动态报表可导出excel
20菜单权限分配给每个角色不同的菜单权限, 每个角色看到的菜单不同N级别菜单 按钮权限
21增删改查权限分配具体到不同的菜单自定义按钮管理 支持多用户分权限管理后台, 权限具体到不同的菜单不同的按钮一个用户可以多个角色

主要技术点

  1. 导入 导出 excel 文件 应用在系统用户中
  2. 生成 word文件 应用在代码生成器生成的doc文档
  3. IO 流下载文件 应用在代码生成器中生成后压缩成zip 文件下载
  4. 代码 zip 压缩打包 应用在代码生成器中生成后压缩成zip 文件
  5. MD5加密 SHA加密登录密码用此加密接口加密身份校验
  6. 数据库连接池 阿里的 druid。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势,支持并发
  7. 安全框架 shiro (登录授权)(session管理)shiro 注解菜单权限拦截shiro 标签按钮权限
  8. freemaker模版引擎(代码生成器用)
  9. ehcache 自定义缓存 选择缓存存放目录处理并发增加系统性能
  10. tab标签页面功能标签自由切换不重复操作数据库可全部关闭关闭当前关闭其它
  11. 多数据源技术
  12. 调用摄像头拍照技术图片裁剪技术 用户头像编辑
  13. 在线编辑器仿开发工具 代码生成器的模版编辑
  14. 单群发邮件可以发html、纯文本格式
  15. 根据汉字 解析汉字的全拼(拼音)和首字母(导入excel到用户表根据用户的汉字姓名生成拼音的用户名)
  16. 站内信语音提醒js控制音频播放
  17. java 读写 ini 配置文件
  18. java websocket 即时通讯技术点对点好友、群组发图片文件离线消息保留聊天记录
  19. 百度富文本编辑器可上传图片、附件
  20. java Quartz 任务调度 应用在数据库定时备份模块中

SpringBoot应用常用的开源组件

技术说明官网
SpringBootWeb应用开发框架https://spring.io/projects/spring-boot
SpringSecurity认证和授权框架https://spring.io/projects/spring-security
Shiro认证授权
sa-token认证授权更简单易用功能强大
MyBatisORM框架http://www.mybatis.org/mybatis-3/zh/index.html
MyBatisGenerator数据层代码生成器http://www.mybatis.org/generator/index.html
Elasticsearch搜索引擎https://github.com/elastic/elasticsearch
RabbitMQ消息队列https://www.rabbitmq.com/
Redis内存数据存储https://redis.io/
MongoDBNoSql数据库https://www.mongodb.com
LogStash日志收集工具https://github.com/elastic/logstash
Kibana日志可视化查看工具https://github.com/elastic/kibana
Nginx静态资源服务器https://www.nginx.com/
Docker应用容器引擎https://www.docker.com
Jenkins自动化部署工具https://github.com/jenkinsci/jenkins
Druid数据库连接池https://github.com/alibaba/druid
OSS对象存储https://github.com/aliyun/aliyun-oss-java-sdk
MinIO对象存储https://github.com/minio/minio
JWTJWT登录支持https://github.com/jwtk/jjwt
LombokJava语言增强库https://github.com/rzwitserloot/lombok
HutoolJava工具类库https://github.com/looly/hutool
PageHelperMyBatis物理分页插件http://git.oschina.net/free/Mybatis_PageHelper
Swagger-UIAPI文档生成工具https://github.com/swagger-api/swagger-ui
Hibernator-Validator验证框架http://hibernate.org/validator
Spring Security oauth22.1.5认证和授权框架
MyBatis3.5.0ORM框架
MyBatisPlus3.1.0基于mybatis使用lambda表达式的
Swagger-UI2.9.2文档生产工具
Hibernator-Validator6.0.17验证框架
redisson3.10.6对redis进行封装、集成分布式锁等
hikari3.2.0数据库连接池
hikaricp数据库连接池管理
log4j22.11.2更快的log日志工具
fst2.57更快的序列化和反序列化工具
orika1.5.4更快的bean复制工具
lombok1.18.8简化对象封装工具
hutool4.5.0更适合国人的java工具集
swagger-bootstrap1.9.3基于swagger更便于国人使用的swagger ui

Spring内置工具类

在org.springframework.util包下面藏着许多实用类有了它们就无需再引入commons-io那些依赖了:

  • Assert 断言工具类
  • StringUtils
  • ObjectUtils
  • CollectionUtils
  • FileCopyUtils
  • ResourceUtils
  • ReflectionUtils
  • AopContext

一些完整的SpringBoot的开源项目

Java awesome

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Spring