目标:在gitee上面实现一个开源应用系统,先单体应用,后分布式应用。
方式:根据历史项目整理出一个项目需要的基础能力,然后参考网上资料其他开源项目,自己编码实现

DEMO作为纯后台,使用的技术栈如下:
springboot2.2.1
Java-Websocket1.3.5
springbootWeb
springbootAdmin
git
maven3

一.项目中已使用的能力

1.日志处理

使用了springboot2的默认日志框架logback

2.全局异常处理

使用了@ControllerAdvice注解来实现异常处理

3.通用结果返回封装

定义了Resoponse类,其中是三个参数,responseCode,resoponseMsg,data

4.AOP自定义注解

调用接口需要rsa加密,使用自定义注解增加数据

5.定时调度

使用了springboot提供的@Scheduled注解

6.监控

SpringbootAdmin监控

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