AutoValue、AutoFactory、AutoService、Commonのヘルパーを含む、Java向けアノテーション処理コードジェネレーター群です。
google/guice
Guiceは、ファクトリーやオブジェクトの直接生成を不要にする、Java 11以降向けの軽量な依存性注入フレームワークです。
- スター
- 12,729
- フォーク
- 1,675
- 未解決の Issue
- 372
- 最終コミット
- 8 日前
これは何?
GuiceはGoogleが開発したJava向けの依存性注入フレームワークです。基本的な考え方は、クラスが @Inject で依存関係を宣言し、Guiceがそのオブジェクトを提供することで、アプリケーションコードから new を呼び出したり、ファクトリークラスに依存したりする必要をなくすことです。これにより、コードの変更やユニットテスト、異なるコンテキストでの再利用が容易になります。
GuiceはJavaの型安全性を活用し、予測しやすい動作を目指して、隠れた仕組みを避けています。コア機能を小さく保ち、あらゆる機能をフレームワークに追加するのではなく、拡張ポイントを提供します。設定に誤りがある場合は、原因の特定に役立つ分かりやすいメッセージを出力します。
このプロジェクトは、コア成果物 com.google.inject:guice としてMaven Centralで公開されており、assisted injection、JMX、JNDI、persistence、Spring、Daggerとの相互運用などに対応する任意の拡張モジュールも提供しています。バージョン6.0.0と7.0.0は機能的には同等で、主な違いは対象とする名前空間が javax か jakarta かという点です。
主な機能
- 01@Inject で宣言された依存関係を注入し、オブジェクトの手動生成やファクトリーコードを減らします。
- 02Javaの型システムによってチェックされる型安全なバインディング。
- 03assisted injection、persistence、JMX、JNDI、Spring、Daggerに対応する任意の拡張モジュール。
- 04注入の設定に誤りがある場合に、分かりやすいエラーメッセージを表示します。
- 05Maven Centralで入手でき、javax と jakarta の各名前空間に対応するバージョンがあります。
ユースケース
- コンポーネント自身が依存オブジェクトを生成するのではなく、依存関係を受け取るようにJavaアプリケーションを構成する。
- モックや別の実装に差し替えられるようにし、クラスのユニットテストを容易にする。
- javax または jakarta APIを使用するJavaのWebプロジェクトやエンタープライズプロジェクトに、依存性注入を導入する。
クイックスタート
- 1
Guice Core の Maven 依存関係(com.google.inject:guice)をプロジェクトに追加します
- 2
Maven Central で最新バージョンを確認し、依存関係に設定します
使う前に知っておきたいこと
- Java 11 以降が必要です。
- バージョン 6.0.0 は javax パッケージを対象とし、7.0.0 は jakarta パッケージを対象とします。使用するスタックに合ったバージョンを選んでください。
収録されている特集
トピック
よくある質問
- guice とは?
- Guiceは、ファクトリーやオブジェクトの直接生成を不要にする、Java 11以降向けの軽量な依存性注入フレームワークです。 GuiceはGoogleが開発したJava向けの依存性注入フレームワークです。基本的な考え方は、クラスが @Inject で依存関係を宣言し、Guiceがそのオブジェクトを提供することで、アプリケーションコードから new を呼び出したり、ファクトリークラスに依存したりする必要をなくすことです。これにより、コードの変更やユニットテスト、異なるコンテキストでの再利用が容易になります。
- guice は無料で使えますか?ライセンスは?
- guice は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- guice は今もメンテナンスされていますか?
- 活発にメンテナンス中。guice の最終コミットは 2026年10月30日 です。
- guice は何に使えますか?
- コンポーネント自身が依存オブジェクトを生成するのではなく、依存関係を受け取るようにJavaアプリケーションを構成する。 モックや別の実装に差し替えられるようにし、クラスのユニットテストを容易にする。 javax または jakarta APIを使用するJavaのWebプロジェクトやエンタープライズプロジェクトに、依存性注入を導入する。
- guice のインストール方法は?
- Guice Core の Maven 依存関係(com.google.inject:guice)をプロジェクトに追加します Maven Central で最新バージョンを確認し、依存関係に設定します
- guice はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/google/guice
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Springに着想を得た、DI、オートコンフィグレーション、Web MVC、NettyベースのHTTPサーバー、データアクセスを備えるモジュール型Javaアプリケーションフレームワーク。
TypeScriptまたはJavaScriptで、効率的かつスケーラブルなサーバーサイドアプリケーションを構築するための、進化型Node.jsフレームワークです。
ルーティング、依存性注入、マイグレーション、キュー、イベントブロードキャストを備えた、表現力豊かな構文のPHP Webアプリケーションフレームワーク。
エンタープライズアプリケーション構築の基盤となるJavaフレームワーク。依存性注入、MVC、Springエコシステムを支えるインフラを提供します。
Dockerデーモンを使わず、MavenまたはGradleでJavaアプリケーション向けの最適化されたDocker・OCIコンテナイメージをビルドします。