Repolode
TAKETODAY

TAKETODAY/today-infrastructure

一个模块化的 Java 应用框架,提供依赖注入、自动配置、Web MVC、Netty 服务和数据访问,设计受 Spring 启发。

Star
132
Fork
14
未关闭 Issue
22
最近提交
12小时前

这是什么?

TODAY Infrastructure 是一个用于构建 Web 应用和通用 Java 应用的库。它提供带依赖注入、组件扫描和 Bean 生命周期回调的 IoC 容器,以及包含 Advisor、代理创建和方法拦截的 AOP 层。

Web 方面包括 MVC 请求映射、参数绑定、异常处理、WebSocket 以及基于 Netty 的 Web 服务器。数据访问模块涵盖 JDBC、事务和持久化。可选模块支持 Jackson、Gson、JSON-B、Protobuf、模板和邮件,可通过 `infra-starter-*` 按需引入,也可直接使用更底层的 `infra-*` 模块。

项目要求 Java 17 及以上版本。它与 Spring 的包命名、模块坐标和启动模型相互独立,因此 Spring 生态组件不能默认直接兼容。

核心功能

  • 01IoC 容器,支持依赖注入、组件扫描和生命周期回调
  • 02AOP 支持,包括 Advisor、代理创建和方法拦截
  • 03Web MVC,支持请求映射、参数绑定和异常处理
  • 04基于 Netty 的 Web 服务器,支持 WebSocket
  • 05JDBC、事务和持久化模块
  • 06可选 Starter 支持 JSON、模板、邮件和 Protobuf

适用场景

  • 学习 Java 中 IoC 容器、AOP 与 Web 框架的实现原理
  • 基于 Netty 构建轻量级 Java Web 服务
  • 在小型项目中尝试可读、可修改的模块化框架,作为 Spring Boot 的替代方案

快速上手

  1. 1

    安装 Git 和 JDK 17+

  2. 2

    克隆仓库

    git clone https://github.com/TAKETODAY/today-infrastructure.git
  3. 3

    进入示例目录

    cd today-infrastructure/infra-samples
  4. 4

    在 8080 端口运行示例服务(Windows 下使用 gradlew.bat)

    ./gradlew infraRun --args='--server.port=8080'

使用前须知

  • README 称若需要成熟生态、大量第三方 Starter 或商业支持,Spring Boot 仍是更稳妥的选择。
  • 它不是 Spring 的二进制兼容替代品,Spring 生态组件不能默认直接兼容。
  • README 称该项目主要由作者在自己的生产环境中使用,且未移植 JMS、R2DBC、WebFlux 等模块。

收录于专题

标签

常见问题

today-infrastructure 是什么?
一个模块化的 Java 应用框架,提供依赖注入、自动配置、Web MVC、Netty 服务和数据访问,设计受 Spring 启发。 TODAY Infrastructure 是一个用于构建 Web 应用和通用 Java 应用的库。它提供带依赖注入、组件扫描和 Bean 生命周期回调的 IoC 容器,以及包含 Advisor、代理创建和方法拦截的 AOP 层。
today-infrastructure 可以免费使用吗?用的什么许可证?
today-infrastructure 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
today-infrastructure 还在维护吗?
活跃维护中。today-infrastructure 最近一次提交是在 2026年10月22日。
today-infrastructure 适合用来做什么?
学习 Java 中 IoC 容器、AOP 与 Web 框架的实现原理 基于 Netty 构建轻量级 Java Web 服务 在小型项目中尝试可读、可修改的模块化框架,作为 Spring Boot 的替代方案
today-infrastructure 怎么安装和运行?
安装 Git 和 JDK 17+ 克隆仓库: git clone https://github.com/TAKETODAY/today-infrastructure.git 进入示例目录: cd today-infrastructure/infra-samples 在 8080 端口运行示例服务(Windows 下使用 gradlew.bat): ./gradlew infraRun --args='--server.port=8080'
在哪里获取 today-infrastructure?
源代码和安装说明在 GitHub 上:https://github.com/TAKETODAY/today-infrastructure

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目