guice README

The project's README from github.com/google/guice. As one markdown file: README.md.

Guice

Overview

Put simply, Guice alleviates the need for factories and the use of new in your Java code. Think of Guice's @Inject as the new new. You will still need to write factories in some cases, but your code will not depend directly on them. Your code will be easier to change, unit test and reuse in other contexts.

Guice embraces Java's type safe nature. You might think of Guice as filling in missing features for core Java. Ideally, the language itself would provide most of the same features, but until such a language comes along, we have Guice.

Guice helps you design better APIs, and the Guice API itself sets a good example. Guice is not a kitchen sink. We justify each feature with at least three use cases. When in doubt, we leave it out. We build general functionality which enables you to extend Guice rather than adding every feature to the core framework.

Guice aims to make development and debugging easier and faster, not harder and slower. In that vein, Guice steers clear of surprises and magic. You should be able to understand code with or without tools, though tools can make things even easier. When errors do occur, Guice goes the extra mile to generate helpful messages.

For an introduction to Guice and a comparison to new and the factory pattern, see Bob Lee's video presentation. After that, check out our user's guide.

We've been running Guice in mission critical applications since 2006, and now you can, too. We hope you enjoy it as much as we do.

Installation Instructions

Guice Core (Maven)

<dependency>
  <groupId>com.google.inject</groupId>
  <artifactId>guice</artifactId>
  <!-- {version} can be 6.0.0, 7.0.0, etc. -->
  <version>{version}</version>
</dependency>

Guice Extension (Maven)

<dependency>
  <groupId>com.google.inject.extensions</groupId>
  <!-- {extension-name} can be one of: assistedinject, dagger-adapter,
       grapher, jmx, jndi, persist, spring, testlib or throwingproviders -->
  <artifactId>guice-{extension-name}</artifactId>
  <!-- {version} must match the guice core version. -->
  <version>{version}</version>
</dependency>

See Maven Central for more details, including snippets for other build systems such as Gradle, Ivy, sbt, and more.


jolt award

guice (google/guice)

Searching Database…

12.7K ·GitHub
Что это такое?Guice — это легковесный фреймворк для внедрения зависимостей (dependency injection) на Java 11 и выше, созданный Google. Он избавляет от необходимости в фабриках и ручных вызовах 'new' в вашем коде.
Это фреймворк или библиотека?Это библиотека/фреймворк, который вы подключаете к сборке Java-проекта. Он предоставляет аннотации вроде @Inject и модули для настройки, а не самостоятельное приложение.
Как добавить это в проект?Добавьте артефакт Guice Core (и любое нужное расширение) из Maven Central в файл сборки. Примеры готовы для Maven, Gradle, Ivy, sbt и других систем.
Нужна ли определённая версия Java?Да, Guice требует Java 11 или выше.
В чём разница между релизами 6.0.0 и 7.0.0?Релизы 6.0.0 и 7.0.0 функционально эквивалентны, за исключением того, какой API внедрения они поддерживают: 6.0.0 в основном работает со старым пространством имён javax.inject/servlet/persistence, а 7.0.0 — с новым пространством имён jakarta.inject/servlet/persistence.
Как долго Guice используется в продакшене?Google заявляет, что использует Guice в критически важных приложениях с 2006 года.
Guice стремится делать всё или остаётся минималистичным?Guice намеренно остаётся минималистичным: мейнтейнеры требуют как минимум три сценария использования, чтобы обосновать любую новую функцию, и вместо раздувания ядра создают общие точки расширения.
Где можно узнать, как пользоваться Guice, помимо README?Есть руководство User Guide и javadoc для релизов 6.0.0, 7.0.0 и последнего снапшота, а также видеопрезентация Боба Ли, в которой представлен Guice и сравнивается с простым 'new' и паттерном фабрики.
Creator
google
Size
122.4 MB
Stars
12.7K
Age
12y
Commits · 90 Days