Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/google/guice
Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 11 and above, brought to you by Google.
https://github.com/google/guice
Last synced: 6 days ago
JSON representation
Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 11 and above, brought to you by Google.
- Host: GitHub
- URL: https://github.com/google/guice
- Owner: google
- License: apache-2.0
- Created: 2014-05-28T23:18:53.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-04-15T07:38:26.000Z (7 months ago)
- Last Synced: 2024-04-20T16:54:35.565Z (7 months ago)
- Language: Java
- Homepage: https://github.com/google/guice
- Size: 119 MB
- Stars: 12,344
- Watchers: 529
- Forks: 1,649
- Open Issues: 323
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: COPYING
Awesome Lists containing this project
- awesome-tech - Guice - Lightweight and opinionated framework that completes Dagger. (Solutions / Dependency Injection)
- awesome - guice - Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google. (Java)
- awesome-java - Guice - Lightweight and opinionated framework that completes Dagger. (Projects / Dependency Injection)
- awesome-java-zh - Guice - 轻量级和固执己见的框架,完成匕首。 (项目 / 依赖注入)
- awesome-java - Guice - Lightweight and opinionated framework that completes Dagger. (Projects / Dependency Injection)
- my-awesome - google/guice - 10 star:12.5k fork:1.7k Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 11 and above, brought to you by Google. (Java)
README
Guice
====- **Latest releases:**
* **[6.0.0](https://github.com/google/guice/wiki/Guice600) (supports `javax.{inject,servlet,persistence}`, [mostly supports](https://github.com/google/guice/wiki/Guice600#jee-jakarta-transition) `jakarta.inject`)**
* **[7.0.0](https://github.com/google/guice/wiki/Guice700) (supports `jakarta.{inject,servlet,persistence}`)**
* (6.0.0 & 7.0.0 are equivalent except for their javax/jakarta support.)
- **Documentation:**
* [User Guide](https://github.com/google/guice/wiki/Motivation),
* [6.0.0 javadocs](https://google.github.io/guice/api-docs/6.0.0/javadoc/index.html)
* [7.0.0 javadocs](https://google.github.io/guice/api-docs/7.0.0/javadoc/index.html)
* [Latest Snapshot javadocs](https://google.github.io/guice/api-docs/latest/javadoc/index.html)
- **Continuous Integration:**
[![Build Status](https://github.com/google/guice/workflows/continuous-integration/badge.svg)](https://github.com/google/guice/actions)
- **Mailing Lists:** [User Mailing List](http://groups.google.com/group/google-guice)
- **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0)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](https://www.youtube.com/watch?v=hBVJbzAagfs). After that, check out our [user's guide](https://github.com/google/guice/wiki/Motivation).
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)
```xmlcom.google.inject
guice
{version}```
Guice Extension (Maven)
```xmlcom.google.inject.extensions
guice-{extension-name}
{version}```
See [Maven Central](https://central.sonatype.com/artifact/com.google.inject/guice/) for more details, including snippets for other build systems such as Gradle, Ivy, sbt, and more.
---
[![jolt award](https://user-images.githubusercontent.com/1885701/52603534-0d620380-2e1c-11e9-8cd5-95f0e141fcb0.png)](http://www.drdobbs.com/tools/winners-of-the-18th-jolt-product-excelle/207600666?pgno=6)