Debbie 0.6.3-RELEASE

for microservice

Debbie 0.6.3-RELEASE

一个从零实现的 Java 微服务框架,包含 IOC、MVC、JDBC、HTTP客户端、HTTP Server、定时任务、Event、终端应用、javafx、测试、其他第三方服务/框架支持等模块。 支持 JDK 17+ 运行,兼容 GraalVM Native Image。


一、版本说明

项目 信息
版本号 0.6.3-RELEASE
发布日期 2026-08
Java 版本 17+
许可证 Mulan PSL v2
模块化 全面支持 Java Platform Module System (JPMS)

0.6.x 系列功能


二、模块说明

com.truthbean debbie-XXX 0.6.3-RELEASE

| 模块            | ArtifactId              | Order   | 分类                            | 说明                                                                                             |
|-----------------|-------------------------|---------|---------------------------------|--------------------------------------------------------------------------------------------------|
| core            | `debbie-core`           | 0       | 核心模块                        | 核心 IOC 容器、Bean 管理、配置、定时任务、Event、序列化 SPI 接口等,无任何我开发之外的第三方依赖 |
|                 |                         |         |                                 |                                                                                                  |
| asm             | `debbie-asm`            | 1000    | 字节增强模块,第三方,可选      | ASM 字节码增强(Bean 代理),暂未完全实现                                                        |
|                 |                         |         |                                 |                                                                                                  |
| jdbc            | `debbie-jdbc`           | 200     | 核心模块                        | JDBC 封装、数据源、ORM 实体映射、简单mock、简单jdbc连接池                                        |
|                 |                         |         |                                 |                                                                                                  |
| hikari          | `debbie-hikari`         | 20001   | 线程池模块,第三方,可选        | HikariCP 连接池                                                                                  |
| shardingsphere  | `debbie-shardingsphere` | 20002   | 分库分表模块,第三方,可选      | ShardingSphere 分库分表                                                                          |
| druid           | `debbie-druid`          | 20003   | 线程池模块,第三方,可选        | Druid 连接池                                                                                     |
| dbcp2           | `debbie-dbcp2`          | 20004   | 线程池模块,第三方,可选        | Commons DBCP2 连接池                                                                             |
| c3p0            | `debbie-c3p0`           | 20005   | 线程池模块,第三方,可选        | C3P0 连接池                                                                                      |
| tomcat-jdbc     | `debbie-tomcat`         | 20006   | 线程池模块,第三方,可选        | Tomcat JDBC 连接池                                                                               |
|                 |                         |         |                                 |                                                                                                  |
| mybatis         | `debbie-mybatis`        | 21001   | ORM模块,第三方,可选           | Mybatis 支持                                                                                     |
| mybatis-plus    | `debbie-mybatis-plus`   | 21101   | ORM模块,第三方,可选           | MyBatis-Plus                                                                                     |
|                 |                         |         |                                 |                                                                                                  |
| jedis           | `debbie-jedis`          | 22001   | redis模块,第三方,可选         | Jedis Redis 客户端                                                                               |
| redisson        | `debbie-redisson`       | 22002   | redis模块,第三方,可选         | Redisson                                                                                         |
| lettuce         | `debbie-lettuce`        | 22003   | redis模块,第三方,可选         | Lettuce Redis 客户端                                                                             |
|                 |                         |         |                                 |                                                                                                  |
| mongo           | `debbie-mongo`          | 23001   | mongodb模块,第三方,可选       | MongoDB                                                                                          |
|                 |                         |         |                                 |                                                                                                  |
| lucene          | `debbie-lucene`         | 29000   | 文本检索模块,第三方,可选      | Lucene 支持                                                                                      |
|                 |                         |         |                                 |                                                                                                  |
| mvc             | `debbie-mvc`            | 300     | 核心模块                        | MVC 路由、请求参数处理、响应处理、过滤器,通过 SPI 加载序列化实现,无servlet                     |
|                 |                         |         |                                 |                                                                                                  |
| server          | `debbie-server`         | 310     | 核心模块                        | Server 抽象层,无servlet                                                                         |
| aio             | `debbie-aio`            | 321     | 服务器模块,可选                | AIO HTTP 运行时,无servlet                                                                       |
| netty           | `debbie-netty`          | 30001   | 服务器模块,第三方,可选        | Netty 服务器,无servlet                                                                          |
| undertow        | `debbie-undertow`       | 30002   | 服务器模块,第三方,可选        | Undertow 服务器,无servlet                                                                       |
| tomcat          | `debbie-tomcat`         | 30004   | 服务器模块,第三方,可选        | Tomcat Servlet 容器                                                                              |
|                 |                         |         |                                 |                                                                                                  |
| servlet         | `debbie-servlet`        | 31000   | JakaraEE模块,第三方,可选      | Servlet 兼容层                                                                                   |
|                 |                         |         |                                 |                                                                                                  |
| httpclient      | `debbie-httpclient`     | 311     | Debbie核心模块                  | HTTP 客户端(基于 MVC 内核)                                                                     |
|                 |                         |         |                                 |                                                                                                  |
| dubbo           | `debbie-dubbo`          | 31100   | RPC模块,第三方,可选           | Dubbo RPC                                                                                        |
| grpc-server     | `debbie-grpc-server`    | 31120   | RPC模块,第三方,可选           | gRPC 服务端                                                                                      |
| grpc-client     | `debbie-grpc-client`    | 31121   | RPC模块,第三方,可选           | gRPC 客户端                                                                                      |
|                 |                         |         |                                 |                                                                                                  |
| kafka           | `debbie-kafka`          | 31130   | 消息队列模块,第三方,可选      | 消息队列,Kafka 支持                                                                             |
| pulsar          | `debbie-pulsar`         | 31131   | 消息队列模块,第三方,可选      | Pulsar 消息队列                                                                                  |
| rocketmq        | `debbie-rocketMq`       | 31132   | 消息队列模块,第三方,可选      | RocketMQ 消息队列                                                                                |
| rabbitmq        | `debbie-rabbitMq`       | 31133   | 消息队列模块,第三方,可选      | RabbitMQ 消息队列                                                                                |
| activemq        | `debbie-activeMq`       | 31134   | 消息队列模块,第三方,可选      | ActiveMQ 消息队列                                                                                |
|                 |                         |         |                                 |                                                                                                  |
| json            | `debbie-json`           | 400     | JSON模块,可选                  | 自研 JSON 解析器,提供 `JsonHelper` SPI 实现(无第三方依赖)                                     |
| xml             | `debbie-xml`            | 401     | XML模块,可选                   | 自研 XML 解析器                                                                                  |
| yaml            | `debbie-yaml`           | 402     | YAML模块,可选                  | 自研 YAML 解析器                                                                                 |
| jackson         | `debbie-jackson`        | 40001   | JSON/XML/YAML模块,第三方,可选 | JSON/XML/YAML 序列化/反序列化,Jackson实现,提供 `JsonHelper`/`XmlHelper` SPI 实现               |
| gson            | `debbie-gson`           | 40002   | JSON模块,第三方,可选          | JSON 序列化/反序列化,Google Gson实现,提供 `JsonHelper` SPI 实现                                |
| fastjson2       | `debbie-fastjson2`      | 40003   | JSON模块,第三方,可选          | JSON 序列化/反序列化,Alibaba fastjson2实现,提供 `JsonHelper` SPI 实现                          |
| fury            | `debbie-fastjson2`      | 40003   | JSON模块,第三方,可选          | JSON 序列化/反序列化,Alibaba fastjson2实现,提供 `JsonHelper` SPI 实现                          |
|                 |                         |         |                                 |                                                                                                  |
| agent           | `debbie-agent`          | 500     | 核心模块                        | Java Agent                                                                                       |
|                 |                         |         |                                 |                                                                                                  |
| console         | `debbie-console`        | 600     | Debbie核心模块                  | 控制台 支持                                                                                      |
|                 |                         |         |                                 |                                                                                                  |
| test            | `debbie-test`           | 6660    | 测试模块,第三方,可选          | 测试框架Junit5 支持                                                                              |
|                 |                         |         |                                 |                                                                                                  |
| javafx          | `debbie-javafx`         | 7000    | JavaFx模块,第三方,可选        | 桌面应用,JavaFx 支持                                                                            |
|                 |                         |         |                                 |                                                                                                  |
| metrics         | `debbie-metrics`        | 8000    | 告警模块,第三方,可选          | 第三方告警 支持                                                                                  |
|                 |                         |         |                                 |                                                                                                  |
| freemark        | `debbie-freemark`       | 90000   | 模板引擎模块,第三方,可选      | 模板引擎,freemark 支持                                                                          |
| thymeleaf       | `debbie-thymeleaf`      | 90001   | 模板引擎模块,第三方,可选      | Thymeleaf 模板引擎                                                                               |
|                 |                         |         |                                 |                                                                                                  |
| swagger         | `debbie-swagger`        | 93000   | API管理模块,第三方,可选       | Swagger/OpenAPI 文档,swagger 支持                                                               |
|                 |                         |         |                                 |                                                                                                  |
| quartz          | `debbie-quartz`         | 100000  | 定时任务模块,第三方,可选      | quartz框架支持,定时任务                                                                         |
|                 |                         |         |                                 |                                                                                                  |
| zookeeper       | `debbie-zookeeper`      | 131100  | zookeepr模块,第三方,可选      | ZooKeeper集成                                                                                    |
|                 |                         |         |                                 |                                                                                                  |
| mail            | `debbie-mail`           | 131110  | 邮件模块,第三方,可选          | JavaMail 邮件                                                                                    |
|                 |                         |         |                                 |                                                                                                  |
| spring          | `debbie-spring`         | 200000  | 框架包装模块,第三方,可选      | Spring 生态兼容                                                                                  |
|                 |                         |         |                                 |                                                                                                  |
| shiro           | `debbie-shiro`          | 300000  | 权限模块,第三方,可选          | Shiro 安全框架                                                                                   |
|                 |                         |         |                                 |                                                                                                  |
| bus             | `debbie-bus`            | 1010000 | 消息总线模块,第三方,可选      | 消息总线                                                                                         |
| loadbalancer    | `debbie-loadBalancer`   | 1010001 | 负载均衡模块,第三方,可选      | 客户端负载均衡                                                                                   |
| config          | `debbie-config`         | 1010002 | 配置中心,第三方,可选          | 配置中心客户端                                                                                   |
| gateway         | `debbie-gateway`        | 1010003 | 网关模块,第三方,可选          | API 网关                                                                                         |
| tracing         | `debbie-tracing`        | 1010008 | 链路追踪模块,第三方,可选      | 分布式链路追踪                                                                                   |
| integration     | `debbie-integration`    | 1010009 | 集成编排模块,第三方,可选      | 集成编排                                                                                         |
| circuit-breaker | `debbie-circuitBreaker` | 1010011 | 熔断器模块,第三方,可选        | 熔断器                                                                                           |
| function        | `debbie-function`       | 1010012 | 函数式计算模块,第三方,可选    | 函数式计算 / Serverless                                                                          |
|                 |                         |         |                                 |                                                                                                  |
| sentinel        | `debbie-sentinel`       | 1310010 | 限流降级模块,第三方,可选      | Sentinel 限流降级                                                                                |
| nacos           | `debbie-nacos`          | 1320001 | 注册/配置中心模块,第三方,可选 | Nacos 注册/配置中心                                                                              |
| etcd            | `debbie-etcd`           | 1320002 | 注册/配置中心模块,第三方,可选 | etcd 注册/配置中心                                                                               |
| consul          | `debbie-consul`         | 1320004 | 注册中心,第三方,可选          | Consul 注册中心                                                                                  |
| eureka          | `debbie-eureka`         | 1320005 | 注册中心,第三方,可选          | Eureka 注册中心                                                                                  |
| seata           | `debbie-seata`          | 1320006 | 分布式事务模块,第三方,可选    | Seata 分布式事务                                                                                 |
|                 |                         |         |                                 |                                                                                                  |
| kubernetes      | `debbie-kubernetes`     | 2000001 | 平台支持模块,第三方,可选      | Kubernetes 集成                                                                                  |



---

### debbie-cloud 模块说明

> `debbie-cloud` 是 Debbie 框架的第三方集成与云原生扩展项目,包含 `boot`(第三方框架/中间件适配)和 `cloud`(微服务云原生组件)两大子项目。
> 仓库地址:https://github.com/TruthBean/debbie-cloud

---

## 三、框架使用指南

### 3.1 快速开始

```java
import com.truthbean.debbie.boot.DebbieBootApplication;
import com.truthbean.debbie.boot.DebbieApplication;

@DebbieBootApplication
public class MyApplication {
    public static void main(String[] args) {
        DebbieApplication application = DebbieApplication.run(MyApplication.class, args);
    }
}

3.2 依赖注入

import com.truthbean.debbie.bean.BeanComponent;
import com.truthbean.debbie.bean.BeanInject;

// 定义 Bean
@BeanComponent
public class UserService {
    public String getUserName() {
        return "Alice";
    }
}

// 注入 Bean
@BeanComponent
public class UserController {
    @BeanInject
    private UserService userService;

    public void printUser() {
        System.out.println(userService.getUserName());
    }
}

3.3 MVC 路由

import com.truthbean.debbie.mvc.router.Router;
import com.truthbean.debbie.mvc.router.GetRouter;
import com.truthbean.debbie.mvc.router.PostRouter;
import com.truthbean.debbie.mvc.request.RequestParameter;

@Router
public class HelloController {

    @GetRouter("/hello")
    public String hello(@RequestParameter("name") String name) {
        return "Hello, " + name + "!";
    }

    @PostRouter("/api/user")
    public String createUser(@RequestParameter(value = "name", body = true) String name) {
        return "Created user: " + name;
    }
}

3.4 JDBC / ORM

import com.truthbean.debbie.jdbc.annotation.SqlEntity;
import com.truthbean.debbie.jdbc.annotation.SqlColumn;
import com.truthbean.debbie.jdbc.annotation.SqlRepository;

// 实体类
@SqlEntity(table = "users")
public class User {
    @SqlColumn(id = true)
    private Long id;

    @SqlColumn
    private String name;

    @SqlColumn
    private String email;

    // getters and setters...
}

// 数据访问层
@SqlRepository
public class UserRepository {
    @BeanInject
    private DataSource dataSource;

    public User findById(Long id) {
        // 执行 SQL 查询
    }
}

3.5 定时任务

import com.truthbean.debbie.task.DebbieTask;

@BeanComponent
public class ScheduledTasks {

    // 每 5 秒执行一次
    @DebbieTask(fixedRate = 5000)
    public void runEvery5Seconds() {
        System.out.println("Task executed at " + System.currentTimeMillis());
    }

    // 延迟 10 秒后首次执行,之后每 5 秒执行一次
    @DebbieTask(fixedRate = 5000, initialDelay = 10000)
    public void runWithDelay() {
        System.out.println("Delayed task executed");
    }

    // 使用 cron 表达式:每天中午 12:00 执行
    @DebbieTask(cron = "0 0 12 * * ?")
    public void runAtNoon() {
        System.out.println("Noon task executed");
    }

    // 使用 7 字段 cron:仅在 2026 年,每月 1 号中午执行
    @DebbieTask(cron = "0 0 12 1 * ? 2026")
    public void runIn2026() {
        System.out.println("Task executed in 2026");
    }
}

Cron 表达式说明:

字段 必填 取值范围 特殊字符
second 是 0-59 * - , /
minute 是 0-59 * - , /
hour 是 0-23 * - , /
dayOfMonth 是 1-31 * ? - , /
month 是 1-12 * - , /
dayOfWeek 是 0-7 (0 和 7 都表示周日) * ? - , /
year 否 1970-2199 * - ,

常用示例:

0 0 12 * * ?          每天中午 12:00
0 0/5 * * * ?         每 5 分钟
0 0/5 9-17 ? * 1-5    工作日上午 9 点到下午 5 点,每 5 分钟
0 0 0 1,15 * ?        每月 1 号和 15 号凌晨
0 0 0 1 1,4,7,10 ?    每季度第一天
0 0 12 1 * ? 2026-2028  仅在 2026-2028 年,每月 1 号中午

3.6 配置属性

import com.truthbean.debbie.properties.PropertiesConfiguration;

@PropertiesConfiguration(prefix = "app")
public class AppConfig {
    private String name;
    private int port;
    private String[] allowedOrigins;

    // getters and setters...
}

配置文件 application.properties:

# 日志配置
logging.level.root=DEBUG
logging.level.com.truthbean=TRACE

# 服务器配置
debbie.server.port=8080
debbie.web.static-resources-mapping-location=/**=statics/

3.7 测试

import com.truthbean.debbie.test.annotation.DebbieApplicationTest;
import com.truthbean.debbie.bean.BeanInject;
import org.junit.jupiter.api.Test;

@DebbieApplicationTest
public class UserServiceTest {

    @BeanInject
    private UserService userService;

    @Test
    void testGetUserName() {
        String name = userService.getUserName();
        // 验证结果
    }
}

四、已知问题 & TODO

Debbie 核心

Debbie Cloud