目标:在gitee上面实现一个开源应用系统,先单体应用,后分布式应用。
方式:根据历史项目整理出一个项目需要的基础能力,然后参考网上资料其他开源项目,自己编码实现
DEMO作为纯后台,使用的技术栈如下:
springboot2.2.1
Java-Websocket1.3.5
springbootWeb
springbootAdmin
git
maven3
一.项目中已使用的能力
1.日志处理
2.全局异常处理
3.通用结果返回封装
定义了Resoponse类,其中是三个参数,responseCode,resoponseMsg,data
4.AOP自定义注解
5.定时调度
6.监控
7.多环境配置
application.yml 、application-dev.yml、application-test.yml、application-prd.yml
二、系统还需要的基础能力
数据库相关
数据库 mysql (数据库索引、B+、数据库引擎)
数据库连接池 druid
多数据源配置与动态切换 (spring的aop的方式)
PageHelper Mybatis的物理分页
分库分表
缓存技术
redis (redis缓存持久化的三种方式、set和setx、redis存储类型)
redis锁,redis秒杀
权限认证
JWT 、TOKEN
apache shiro
消息队列
rabbitmq RocketMQ Kafka (消息队列原理、消息队列应用场景)
事务管理
实现方式有声明式事务 、编程式事务 (四大特性、事务的传播机制、事务的隔离级别)
mysql的事务
spring事务
消息转换器
比如可以实现敏感字符过滤
线程池技术
java的4种线程池、线程池常用的变量
前端相关
防xss攻击
跨域问题
代码生成
页面框架 bootstrap layui