项目技术栈
核心依赖
依赖 | 版本 |
---|---|
Spring Boot | 2.4.5 |
Spring Cloud | 2020.0.2 |
Spring Cloud Alibaba | 2021.1 |
Spring Security OAuth2 | 2.5.1 |
Mybatis Plus | 3.4.2 |
hutool | 5.6.4 |
springboot
Spring Boot 简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置(提供默认设置),这样我们就可以简单的开始。多数Spring Boot应用只需要很少的Spring配置。从xml到注释到boot开发,真实体会约定大于配置。
我们可以使用SpringBoot创建java应用,并使用java –jar 启动它,或者采用传统的war部署方式。
Spring Cloud 2020
Spring Cloud 2020 不向下兼容,spring-cloud-netflix的一些依赖大部分移除。构建在 Spring Boot 2.4 之上,拥有更强的配置文件处理机制可以非常好的适配云原生 (例如可以直接应用 kubernetes 的 configMap )配置;内置 Docker 镜像构建和分层分析优化能力。
如果团队正在使用 kubernetes,那么 spring-cloud-kubernetes 也将是 Netflix 的不错替代方案。
Spring Cloud 把 Netflix 套件砍掉了,Spring Cloud 团队给我们推荐了用于替代的组件:
Spring Cloud Loadbalancer,完全替换 Ribbon,成为 Spring Cloud 负载均衡器唯一实现。
Spring Cloud Alibaba 2021
Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。
添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统同时也能集成当前的活跃社区组件等
Spring Security OAuth2
oauth2是一种协议规范,spring-security-oauth2是对他的一种实现。自己根据规范编写代码的实现方式。主流的qq,微信等第三方授权登录方式都是基于oauth2实现的。
oauth2的认证方式有授权码,简单,账户密码,客户端等方式,具体请自行百度不做过多的阐述。
Mybatis Plus
MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置。
分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作
hutool
Hutool是一个开源java基础工具类。 Hutool是一个Java工具包类库,对文件、流、加密解密、转码、正则、线程、 XML等JDK方法进行封装,组成各种Util工具类。
减少代码的重复编写。