# spring_cloud_base_arch **Repository Path**: bluejack_admin/spring_cloud_base_arch ## Basic Information - **Project Name**: spring_cloud_base_arch - **Description**: spring_cloud基础脚手架包 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-01 - **Last Updated**: 2025-12-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Blue的cloud全家桶脚手架 针对新型的cloud平台,构建出SpringCloud【Greenwich.SR2】为基础,散发的一套技术框架,不管是基础包还是扩展包,都可以在此得到满足。 旨在为后续的开发,提供全面短而小的包版本控制、基础代码支持 # Cloud平台脚手架组成 ### rabbitmq 以rabbitmq为核心,提供自动化配置 ### core 核心基础包【一个包解决子项目的包引用问题】,为其他包所使用lombok【1.18.12】和spring注解的基础包auto-config 包括json、guava等开源工具包 ### web web项目的异常处理包 * 处理mvc业务级别异常 * 针对第三方框架或者AOP、Filter的异常进行拦截处理 ## feign Spring Cloud Open Feign自动化配置,日志控制、过滤器、拦截器配置 ## common 通用基础包,针对通用的bean,比如异常,会存放在此处 ## nacos naocs注册中心+配置中心包引入配置,我们只做了版本控制 包版本为【2.1.0.RELEASE】 ## orm 提供2种orm框架的引入配置支持,根据需要引入 * mybatis【3.5.5】集合mybatis-spring【2.0.5】 * mybatis-plus【3.3.2】 * mybatis-plus代码生成器 ## security spring boot security 集成jwt token无状态登录 ## distribute-session-redis 分布式锁包,集成到了redis包 ## redis redis分布式锁 加锁、解锁: - 直接: - LockTemplate lock加锁方法 - LockTemplate release解锁方法 - 间接 - @RedisLock 注解加锁 ## seata 阿里云GTS分布式事务框架Seata【seata-all.1.3.0】,提供基础包引入配置,推荐使用注册中心和此处的为nacos ## shiro shiro【1.5.0】权限控制,开放并定义相关权限接口,引入方需要主动实现ShiroAuthService方能完整的使用shiro 所带来的权限控制,提供shiroUtil类,来强化对使用场景的支持,比如手动删除在线用户的缓存、在线用户数统计等 需要注意的是,shiro使用的分布式缓存配置是依赖于Redis集群,单机版的redis也已经支持,可以根据需要进行相应配置 - 引包 - 配置redis【参考application.yml】 - 实现ShiroAuthService接口 ## swagger 接口文档swagger引入配置 ## demo-test Cloud脚手架【功能自测包】,相当于samples包,专门针对组件、第三方功能会在做一些基础测试,并且提供相对功能实现的样板 目前测试包含的功能有: * 全局异常处理器: - filter异常处理 - 常规mvc异常处理 * xxl-job分布式定时任务 - 简单任务 - 复杂任务 * skywalking任务追踪 - 引包 - 修改logback.xml,添加tid输出格式 - 使用注解@TraceId - 调用方打包时,新增相应的skywalking探针参数 * redis分布式缩 - 引包 - 直接使用注解@RedisLock并设置相关参数值 - 直接调用LockTemplate方法lock、release锁 * mybatis-plus分页查询 ## testng TestNg测试包框架引入,对测试案例有要求的可以引入,此外项目中test包下提供了对应测试结果的通用监听器 ## skywalking 分布式链路追踪skywalking探针,需要在logback.xml配置对应日志打印格式,启动jar包时新增命令: > -javaagent:D:\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar -Dskywalking.agent.service_name=test ## oauth包 OAuth2.0授权码模式:oauth-gateway网关(代理2个服务oauth-server认证中心 、 oauth-resource-user资源服务器) + oauth-thirdpart第三方独立系统 单点登录: oauth-server 认证中心、 sso-order 订单服务、 sso-storage 库存服务,这三套是完全不一样的服务 其他工具包: - oauth-common OAuth2.0授权模式下,认证中心、资源服务器公用包 - sso-starter 基于OAuth2授权码模式协议下,实现的sso启动包 - sso测试域名[C:\Windows\System32\drivers\etc] - oauth-thirdpart: www.app.com - oauth-server: www.passport.com/192.168.0.111 - sso-order: www.order.com - sso-storage: www.storage.com - 对应hosts 文件配置 - 127.0.0.1 www.passpart.com - 127.0.0.1 www.order.com - 127.0.0.1 www.storage.com - 127.0.0.1 www.app.com ## xxljob 分布式定时任务框架xxl-job【2.2.0版本】,在test包提供了一个sample,引入此包即可