BladeX框架源码分析--00、包结构

包结构

概述

​ 可以将所有的包分为三层:

​ 1、官方框架层:基于官方框架的使用配置及功能扩展

​ 2、框架特性层:自身框架特性的实现

​ 3、业务层:业务实现

在这里插入图片描述

官方框架层

● starter-redis

​ 1、提供微服务二级缓存(RedisAutoCacheManager)

​ 2、提供分布式锁

​ 3、提供分布式限流

​ 4、序列化配置

● starter-mongo

​ 1、Converter配置:数据库对象——>Json,Json——>文档等

● starter-mybatis

​ 1、Mybatis配置:实体/Mapper包路径、驼峰、主键策略、逻辑删除

​ 2、BaseEntity、BaseService、BladeMapper、BaseEntityWrapper

​ 3、各种拦截器配置:租户拦截器、分页拦截器、日志拦截器、自定义拦截器、查询拦截器(框架实现了动态数据权限)

​ 4、Wapper解析器:Condition、Query

● starter-trancaction

​ 1、配置Seata分布式事务

● starter-swagger

​ 1、swagger配置

​ 2、引入后自动暴露/v2/api-docs接口,提供接口文档数据

● starter-report

​ 1、集成ureport2报表引擎

● starter-oss

​ 1、集成阿里OSS、华为Obs、MinIO、七牛、腾讯Cos

● starter-excel

​ 1、集成easyexcel

​ 2、提供Excel导入导出功能

● starter-sms

​ 1、集成阿里、七牛、腾讯、云片

● starter-http

​ 1、集成okhttp、jsoup

​ 2、提供Http异步调用支持

​ 3、提供Html解析

​ 4、提供http代理

● starter-api-crypto

​ 1、提供API报文加解密

● starter-jwt

​ 1、集成并配置JWT

● starter-social

​ 1、集成JustAuth实现第三方平台登录

● starter-actuate

​ 1、没什么用

● starter-metrics

​ 1、集成prometheus、sentinel

● starter-prometheus

​ 1、配置Prometheus

● starter-log

​ 1、ServiceException

​ 2、基于SpringEvent模型提供日志记录

​ 3、自动记录错误日志,注解记录接口日志,手动记录程序日志

​ 4、提供ELK支持

● starter-ehcache

​ 1、集成ehcache并配置提供一级缓存

● starter-cache

​ 1、基于CacheManager(RedisAutoCacheManager实现)提供CacheUtil工具类

● starter-ribbon

​ 1、集成ribbon提供负载均衡功能

● starter-trace

​ 1、集成zipkin提供链路追踪功能

框架特性层

● bom

​ 1、集成Spring IO Platform管理版本依赖

● core-auto

​ 1、通过动态生成SPI文件以注解的方式来代替传统的SPI(还是通过ServiceLoader.load(LauncherService.class))

​ 2、@AutoService

● core-boot

​ 1、自定义线程池并注入到容器中:TaskExecutor、TaskScheduler

​ 2、提供基础控制器:BladeController

​ 3、提供文件/附件工具及配置(上传、下载等)

​ 4、全局Request包装、过滤(无实际功能)

​ 5、提供Xss防注入

● core-cloud

​ 1、集成Hystrix、Feign、Sentinel并配置

​ 2、解决Hystrix传递ThreaLocal上下文的问题

​ 3、配置RestTemplate/LoadbalanceRestTemplate

​ 4、配置Undertow

​ 5、提供URL版本号和API版本号支持

● core-context

​ 1、提供包括请求信息的线程上下文BladeContext、BladeHttpHeadersGetter(现有功能与starter-auth有交叉)

● core-launch

​ 1、自定义启动器,用于指定各种启动参数:BladeApplication、LauncherService

​ 2、定义各种常量:包名、应用名、服务名

​ 3、定义nacos的IP、端口等(未使用)

● core-db

​ 1、引入各种数据库驱动并配置基础配置文件

● core-secure

​ 1、为各微服务提供接口权限校验(默认关闭,鉴权走网关)

● core-test

​ 1、单元测试:主要解决自定义启动器设置环境变量导致自带的单元测试失效的问题

● core-log4j2

​ 1、将System.out替换为log

​ 2、提供log.xml配置文件

● core-tool

​ 1、接口回参封装对象:R

​ 2、各种Bean工具

​ 3、提供Jackson工具及配置

​ 4、spel工具

​ 5、各种其他工具

● starter-develop

​ 1、代码生成工具

● starter-datascope

​ 1、基于Mybatis拦截器提供动态数据权限功能

● starter-auth

​ 1、提供AuthUtil,从请求中获取各种用户信息

● starter-tenant

​ 1、基于Mybatis-Plus的多租户特性提供租户动态数据源支持

业务层

● gateway

​ 1、基于spring-cloud-gateway和nacos提供动态网关路由

​ 2、提供请求鉴权

● auth

​ 1、基于oauth提供登录验证码生成/校验、登录授权、第三方登录授权、登出

● common

​ 1、定义nacos、sentinel、seata、zipkin、elk的IP、端口等

● ops
swagger

​ swagger聚合文档,只运行一个前端页面,用于接入各服务的接口文档数据

xxljob
turbine
resource
log
develop
gen
flow-design
flow
report
admin
● service
user
desk
system
business
● plugin
● ops-api
● service-api
● plugin-api
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
bladex框架缺失commons-lang3 jar时,可以按照以下步骤进行处理: 1. 首先,确认你的项目中是否确实缺少commons-lang3 jar。可以通过查看项目的依赖管理文件(如pom.xml或build.gradle)或者IDE的依赖视图来确认。 2. 如果确实缺少commons-lang3 jar,可以通过以下两种方式来解决: a. 手动下载jar并添加到项目中: - 访问Apache官网的commons-lang3下载页面(https://commons.apache.org/proper/commons-lang/download_lang.cgi)。 - 根据你的需求选择合适的版本进行下载。 - 将下载的jar复制到你的项目的lib目录下(或者其他你指定的依赖目录)。 - 在你的项目中添加jar的引用,具体方法取决于你使用的构建工具和IDE。例如,如果你使用Maven构建工具,可以在pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> ``` b. 使用构建工具自动下载jar: - 如果你使用的是构建工具(如Maven或Gradle),可以在项目的依赖管理文件中添加commons-lang3的依赖项。 - 构建工具会自动从中央仓库下载并添加jar到你的项目中。例如,如果你使用Maven,可以在pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> ``` 3. 完成上述步骤后,重新构建和运行你的项目,确保commons-lang3 jar已成功添加到项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值