Repolode
TAKETODAY

TAKETODAY/today-infrastructure

Springに着想を得た、DI、オートコンフィグレーション、Web MVC、NettyベースのHTTPサーバー、データアクセスを備えるモジュール型Javaアプリケーションフレームワーク。

スター
132
フォーク
14
未解決の Issue
22
最終コミット
11 時間前

これは何?

TODAY Infrastructureは、Webアプリケーションや汎用アプリケーションの構築に使えるJavaライブラリです。依存性注入、コンポーネントスキャン、Beanのライフサイクルコールバックに対応したIoCコンテナに加え、アドバイザー、プロキシ、メソッドインターセプトを提供するAOPレイヤーを備えています。

Web機能として、MVCのリクエストマッピング、パラメータバインディング、例外処理、WebSocketサポート、NettyベースのWebサーバーを提供します。データアクセスモジュールには、JDBC、トランザクション、永続化機能があります。オプションモジュールではJackson、Gson、JSON-B、Protobuf、テンプレート、メールを利用でき、`infra-starter-*`アーティファクトで個別に選択するか、`infra-*`モジュールを通じてより低レベルで利用できます。

Java 17以降が必要です。作者がSpringの内部構造を学ぶために開発を始めたプロジェクトですが、パッケージ名、座標、起動モデルはSpringとは独立しているため、Springエコシステムのコンポーネントとの互換性は前提としていません。

主な機能

  • 01依存性注入、コンポーネントスキャン、ライフサイクルコールバックに対応したIoCコンテナ
  • 02アドバイザー、プロキシ生成、メソッドインターセプトを備えたAOPサポート
  • 03リクエストマッピング、パラメータバインディング、例外処理に対応したWeb MVC
  • 04WebSocketをサポートするNettyベースのWebサーバー
  • 05JDBC、トランザクション、永続化の各モジュール
  • 06JSON、テンプレート、メール、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

    samplesディレクトリに移動する

    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 とは?
Springに着想を得た、DI、オートコンフィグレーション、Web MVC、NettyベースのHTTPサーバー、データアクセスを備えるモジュール型Javaアプリケーションフレームワーク。 TODAY Infrastructureは、Webアプリケーションや汎用アプリケーションの構築に使えるJavaライブラリです。依存性注入、コンポーネントスキャン、Beanのライフサイクルコールバックに対応したIoCコンテナに加え、アドバイザー、プロキシ、メソッドインターセプトを提供する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 samplesディレクトリに移動する: cd today-infrastructure/infra-samples サンプルサーバーをポート8080で起動する(Windowsではgradlew.batを使用): ./gradlew infraRun --args='--server.port=8080'
today-infrastructure はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/TAKETODAY/today-infrastructure

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト