Skip to content

threefish/ultron-kernel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ultron Kernel

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

常用模块说明

dependencies

集中管理 BOM、公共依赖版本(Spring Boot、MyBatis、RocketMQ、Jackson 等)。推荐作为父 POM 引入。

support-common

  • 常用工具类(字符串、日期、集合、BeanUtils)
  • 全局异常处理与统一返回格式
  • 公共常量与 DTO

support-web

  • Web 过滤器/拦截器
  • 请求/响应日志
  • 全局异常、统一结果封装

support-redis

  • Redis 序列化策略(String/JSON)
  • 缓存注解/封装
  • 分布式锁、限流支持

support-oss

  • 对象存储统一抽象:支持阿里 OSS 等
  • 文件上传、签名 URL

support-job

  • 定时任务抽象(支持 Quartz / Spring Scheduler)
  • Job 监控、任务重试策略

support-rocketmq

  • 生产者/消费者封装
  • 幂等、事务消息、消息重试策略

support-gateway / support-gateway-plugins

  • 针对 API 网关的扩展点(鉴权、限流、灰度发布等)
  • 插件化设计,便于在网关层扩展业务逻辑

示例:在 Spring Boot 项目中使用(示范)

在你的业务项目 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>

贡献指南

  1. Fork 仓库并新建分支 feature/xxxfix/xxx
  2. 提交代码前,确保本地通过 mvn io.spring.javaformat:spring-javaformat-maven-plugin:0.0.29:apply -D file.encoding=UTF-8 构建。
  3. 编写单元测试并补充模块 README / 使用示例。
  4. 发起 Pull Request,描述变更内容与兼容影响。

联系方式


About

一套基于 SpringBoot 的通用基础组件封装库,可用于构建企业级项目。

Resources

Stars

Watchers

Forks