Repolode
google

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. 1

    Guice Core の Maven 依存関係(com.google.inject:guice)をプロジェクトに追加します

  2. 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 の数値は毎日更新されます。

関連プロジェクト