Repolode
TAKETODAY

TAKETODAY/today-infrastructure

A modular Java application framework offering dependency injection, auto-configuration, Web MVC, Netty-based HTTP serving and data access, inspired by Spring.

Stars
132
Forks
14
Open issues
22
Last commit
9 hours ago

What is it?

TODAY Infrastructure is a Java library for building web and general-purpose applications. It provides an IoC container with dependency injection, component scanning and bean lifecycle callbacks, along with an AOP layer for advisors, proxies and method interception.

On the web side it includes MVC request mapping, parameter binding, exception handling, WebSocket support and a Netty-based web server. Data access modules cover JDBC, transactions and persistence. Optional modules add Jackson, Gson, JSON-B, Protobuf, templates and mail, and can be selected individually through `infra-starter-*` artifacts or used at a lower level via `infra-*` modules.

The project requires Java 17 or later and originated as the author's study of Spring's internals; its package names, coordinates and startup model are independent of Spring, so Spring ecosystem components are not assumed to be compatible.

Key features

  • 01IoC container with dependency injection, component scanning and lifecycle callbacks
  • 02AOP support with advisors, proxy creation and method interception
  • 03Web MVC with request mapping, parameter binding and exception handling
  • 04Netty-based web server with WebSocket support
  • 05JDBC, transaction and persistence modules
  • 06Optional starters for JSON, templates, mail and Protobuf

Use cases

  • Studying how IoC containers, AOP and web frameworks are implemented in Java
  • Building a lightweight Java web service on Netty
  • Experimenting with a modular framework as an alternative to Spring Boot for small projects

Quick start

  1. 1

    Install Git and JDK 17+

  2. 2

    Clone the repository

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

    Enter the samples directory

    cd today-infrastructure/infra-samples
  4. 4

    Run the sample server on port 8080 (on Windows use gradlew.bat)

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

Things to know

  • The README says Spring Boot is the safer choice if you need a mature ecosystem, many third-party starters, or commercial support.
  • It is not a binary-compatible replacement for Spring, so Spring ecosystem components may not work directly.
  • The README says it is mainly used by its author in production, and some modules such as JMS, R2DBC and WebFlux are not ported.

In collections

Topics

FAQ

What is today-infrastructure?
A modular Java application framework offering dependency injection, auto-configuration, Web MVC, Netty-based HTTP serving and data access, inspired by Spring. TODAY Infrastructure is a Java library for building web and general-purpose applications. It provides an IoC container with dependency injection, component scanning and bean lifecycle callbacks, along with an AOP layer for advisors, proxies and method interception.
Is today-infrastructure free to use? What license does it have?
today-infrastructure is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is today-infrastructure still maintained?
Actively maintained. The last commit to today-infrastructure was on Oct 22, 2026.
What can I use today-infrastructure for?
Studying how IoC containers, AOP and web frameworks are implemented in Java Building a lightweight Java web service on Netty Experimenting with a modular framework as an alternative to Spring Boot for small projects
How do I install today-infrastructure?
Install Git and JDK 17+ Clone the repository: git clone https://github.com/TAKETODAY/today-infrastructure.git Enter the samples directory: cd today-infrastructure/infra-samples Run the sample server on port 8080 (on Windows use gradlew.bat): ./gradlew infraRun --args='--server.port=8080'
Where can I get today-infrastructure?
The source code and installation instructions are on GitHub: https://github.com/TAKETODAY/today-infrastructure

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects