L--framework //主目录
L--framework-base //框架基础
L--base-boot-web //spring-boot-start-web 相关jar
L--base-cloud-config //spring cloud config 相关jar
L--base-cloud-feign //spring cloud feign 相关jar
L--base-cloud-zipkin //zipkin 相关jar,目前已废弃未使用
L--base-common-kit //通用工具类,并引入了hutool相关jar
L--base-config-starter //自定义的启动配置
L--base-data-aggr //数据聚合
L--base-data-redis //redis相关jar
L--base-logging-log4j2 //日志相关jar
L--base-mybatis-plus //mybatis-plus相关jar
L--base-mybatis-plus-generator //mybatis-plus-generator相关jar
L--base-rabbitmq-rpc //fgb框架
L--base-security-starter //项目资源认证相关配置
L--base-sentinel-gateway //alibab的sentinel,基于开源版本改造
L--base-spring-test //测试相关jar包
L--base-swagger2 //swagger2相关jar,已废弃
L--base-tx-seata //alibaba seata相关
此项目主要用于存放spring-boot-start-web相关jar,如果项目需要引入web相关jar,直接添加此项目即可。
compile "io.gaad.infrastructure:base-boot-web:${frameworkVersion}"
此项目主要用于引入spring-cloud-config相关jar,需要接入配置中心的项目,直接添加此项目即可。
compile "io.gaad.infrastructure:base-cloud-config:${frameworkVersion}"
此项目主要用于引入spring-cloud-starter-openfeign相关jar,需要接入feign的项目,直接添加此项目即可。
compile "io.gaad.infrastructure:base-cloud-feign:${frameworkVersion}"
compile "io.gaad.infrastructure:base-cloud-zipkin:${frameworkVersion}"
项目中的工具类,整合了hutool工具包;所有的子项目必须引入此项目。
compile "io.gaad.infrastructure:base-common-kit:${frameworkVersion}"
此项目主要用于解决项目中,需要额外处理的相关操作;
compile "io.gaad.infrastructure:base-config-starter:${frameworkVersion}"
项目数据聚合框架,具体的使用请参考**《框架-Aggr(聚合)使用.pdf》**文件
compile "io.gaad.infrastructure:base-data-aggr:${frameworkVersion}"
此项目主要用于引入spring-boot-starter-data-redis相关jar,需要使用redis的项目,直接添加此项目即可。同时也对redistemplate的序列化进行了自定义处理(net/unsun/infrastructure/reids/config/RedisConfig.java);
compile "io.gaad.infrastructure:base-data-redis:${frameworkVersion}"
此项目主要用于引入spring-boot-starter-log4j2相关jar,所有的子项目必须引入此项目。同时也自定义了日志注解,具体的实现和注解请查看该项目代码
compile "io.gaad.infrastructure:base-logging-log4j2:${frameworkVersion}"
此项目主要用于引入mybatis-plus相关jar,需要使用mybatis-plus的项目,直接添加此项目即可。同时也自定义了部分类用于继承mybatis-plus的抽象类和实现接口,子项目只需继承或者实现该jar中自定的类即可
compile "io.gaad.infrastructure:base-mybatis-plus:${frameworkVersion}"
此项目主要用于引入mybatis-plus-generator相关jar。需要注意的是,此项目中的mybaits-plus-generator的jar不是mybaits-plus官方提供的,而是基于官方提供的jar进行了模板渲染改造。
compile "io.gaad.infrastructure:base-mybatis-plus-generator:${frameworkVersion}"
此项目主要用于引入spring-boot-starter-amqp相关jar,通过自定义注解,基于rabbitmq的rpc模式实现了fgb框架。
compile "io.gaad.infrastructure:base-rabbitmq-rpc:${frameworkVersion}"
CustomSecurityAutoConfiguration.class //此类用于引入所有的自定义配置和声明bean
CustomResourceServerConfigurerAdapter.class //此类用于自定义ResourceServer相关的配置
CustomSecurityProperties.class //此类用于加载spring security的相关配置
CustomUserAuthenticationConverter.class //此类用于对token进行解析转换成UserDetails用户信息,重要类
CustomWebSecurityConfigurerAdapter.class //spring security的自定义配置,主要是多加了一个StrictHttpFirewall相关配置
GlobalCorsConfig.class //解决跨域问题
TokenFeignClientInterceptor.class //解决feign的调用时无权限或者无登录信息问题
GlobalExceptionHandler.class //全局异常处理
CustomMetaObjectHandler.class //mybatis-plus的自动填充字段插件 只能是mybatis-plus的自己封装的方法生效
SqlInterceptor.class //自定义mybatis插件,功能与 CustomMetaObjectHandler相似,但次拦截器只拦截update/insert相关操作,且方法为非mybatis-plus自带方法,必须为自己在xml中自定义的方法
SecurityKit.class //获取用户信息的相关操作类
compile "io.gaad.infrastructure:base-security-starter:${frameworkVersion}"
此项目引入了阿里巴巴的Sentinel组件,关于Sentinel请查看官网信息;此项目基于1.7.1版本进行了部分改造,使其支持拦截持久化。
compile "io.gaad.infrastructure:base-sentinel-gateway:${frameworkVersion}"
此项目主要用于引入spring-boot-starter-test和junit相关单元测试需要的jar。
compile "io.gaad.infrastructure:base-spring-test:${frameworkVersion}"
compile "io.gaad.infrastructure:base-swagger2:${frameworkVersion}"
此项目引入阿里巴巴的分布式事务框架seata,关于seata的相关描述,请参考其官网。具体的使用方法,请查看**《框架-Seata的使用.pdf》**文件
compile "io.gaad.infrastructure:base-tx-seata:${frameworkVersion}"