Ultron Kernel — 一套模块化的基础组件集合,旨在为企业级 Java 微服务/中台提供开箱即用的基础能力。
仓库包含一系列 support-* 子模块,覆盖常见的系统能力(日志、缓存、持久化、消息、网关、对象存储等),以及一个统一的依赖管理模块 dependencies。
- 仓库名称:
ultron-kernel - 语言:Java(主),少量 Lua
- 目标:为微服务/中台项目提供一套通用、可扩展的基础库集合,减少团队重复开发成本,加速项目交付。
ultron-kernel
├── dependencies # 依赖版本与 BOM 管理
├── support-captcha # 验证码模块(easy-captcha)
├── support-codegen # 代码生成器(实体、DTO、Mapper 等模板化生成)
├── support-common # 公共工具库(工具类、基础异常、通用组件)
├── support-discovery # 服务发现适配(Nacos)
├── support-echo # 回显/审计/审阅支持
├── support-expression # 表达式解析/执行支持 (Aaviator)
├── support-gateway-plugins # 网关插件(扩展 Spring Cloud Gateway)
├── support-gateway # API 网关集成支持
├── support-groovy # Groovy 脚本或扩展支持
├── support-id-generator # 分布式 ID 生成(雪花/时间序列等)
├── support-job # 定时任务/异步 Job 支持
├── support-jpa # JPA / Hibernate 封装支持
├── support-log # 日志增强(结构化日志、链路追踪扩展)
├── support-microservice # 微服务公共能力(自动上报系统数据至网关)
├── support-minio # MinIO 存储封装
├── support-mybatis-plus # MyBatis-Plus 二次封装
├── support-nutz-dao # Nutz DAO 支持(可选)
├── support-oss # OSS 抽象(阿里 OSS )
├── support-redis # Redis 工具(序列化、缓存、分布式锁)
├── support-rest-client # Rest 客户端封装(RestTemplate / WebClient / Feign)
├── support-rocketmq # RocketMQ 集成支持
├── support-web # Web 层封装(过滤器、异常处理、安全鉴权)
├── support-webservice # SOAP / WebService 支持
├── pom.xml # 父级 POM
└── readme.md # 项目首页说明(本文件)
- 模块化设计:每个
support-*模块职责单一,按需引入,方便定制化组合。 - 统一依赖与版本管理:
dependencies模块集中管理第三方库版本,避免依赖冲突。 - 常用组件封装:常见场景封装(缓存、分布式 ID、对象存储、消息队列、任务调度等)。
- 多持久层支持:既支持 MyBatis-Plus,也支持 JPA、Nutz DAO 等,便于迁移与兼容。
- 云原生友好:支持服务发现、网关扩展与微服务治理能力。
需要先统一代码格式,在发布到仓库中
mvn io.spring.javaformat:spring-javaformat-maven-plugin:0.0.29:apply -D file.encoding=UTF-8
mvn clean deploy -D file.encoding=utf-8 -D maven.test.skip=true -P rdc -s C:\Users\your\.m2\settings.xml集中管理 BOM、公共依赖版本(Spring Boot、MyBatis、RocketMQ、Jackson 等)。推荐作为父 POM 引入。
- 常用工具类(字符串、日期、集合、BeanUtils)
- 全局异常处理与统一返回格式
- 公共常量与 DTO
- Web 过滤器/拦截器
- 请求/响应日志
- 全局异常、统一结果封装
- Redis 序列化策略(String/JSON)
- 缓存注解/封装
- 分布式锁、限流支持
- 对象存储统一抽象:支持阿里 OSS 等
- 文件上传、签名 URL
- 定时任务抽象(支持 Quartz / Spring Scheduler)
- Job 监控、任务重试策略
- 生产者/消费者封装
- 幂等、事务消息、消息重试策略
- 针对 API 网关的扩展点(鉴权、限流、灰度发布等)
- 插件化设计,便于在网关层扩展业务逻辑
在你的业务项目 pom.xml 中引入父 POM 或需要的模块:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.github.threefish</groupId>
<artifactId>dependencies</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.github.threefish</groupId>
<artifactId>support-web</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>- Fork 仓库并新建分支
feature/xxx或fix/xxx。 - 提交代码前,确保本地通过
mvn io.spring.javaformat:spring-javaformat-maven-plugin:0.0.29:apply -D file.encoding=UTF-8构建。 - 编写单元测试并补充模块 README / 使用示例。
- 发起 Pull Request,描述变更内容与兼容影响。
- 作者 / 维护者:threefish
- 仓库地址:https://github.com/threefish/ultron-kernel