Repolode
google

google/guice

Guice 是面向 Java 11+ 的轻量级依赖注入框架,可减少工厂类和直接 new 对象的代码。

Star
12,729
Fork
1,675
未关闭 Issue
372
最近提交
8天前

这是什么?

Guice 是 Google 开发的 Java 依赖注入框架。它的核心思路是:类通过 @Inject 声明所需的依赖,由 Guice 负责提供这些对象,业务代码因此无需直接调用 new 或依赖工厂类。这样代码更容易修改、做单元测试,也更便于在不同场景中复用。

Guice 充分利用 Java 的类型安全特性,力求行为可预期,避免隐式的“魔法”。框架本身保持精简,通过扩展机制提供额外能力,而不是把所有功能都放进核心。配置出错时,它会给出较详细的提示信息,便于排查问题。

项目以 com.google.inject:guice 作为核心构件发布到 Maven Central,并提供可选扩展模块,涵盖 assisted injection、JMX、JNDI、持久化、Spring 以及 Dagger 互操作等。6.0.0 与 7.0.0 功能等价,主要区别在于分别面向 javax 还是 jakarta 命名空间。

核心功能

  • 01通过 @Inject 注入声明的依赖,减少手动创建对象和工厂类代码。
  • 02绑定关系基于 Java 类型系统进行类型安全检查。
  • 03提供可选扩展模块,涵盖 assisted injection、持久化、JMX、JNDI、Spring 和 Dagger。
  • 04注入配置出错时给出较清晰的错误提示。
  • 05发布于 Maven 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+ 的轻量级依赖注入框架,可减少工厂类和直接 new 对象的代码。 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

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

相关项目