GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - google/guice: Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 11 and above, brought to you by Google.

BranchesTags
Open more actions menu

Latest commit

 

History

2,182 Commits
2,182 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
bom
bom
 
 
core
core
 
 
examples/guice-demo
examples/guice-demo
 
 
extensions
extensions
 
 
third_party/java
third_party/java
 
 
tools
tools
 
 
util
util
 
 
.bazelrc
.bazelrc
 
 
.bazelversion
.bazelversion
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
BUILD
BUILD
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
COPYING
COPYING
 
 
MODULE.bazel
MODULE.bazel
 
 
MODULE.bazel.lock
MODULE.bazel.lock
 
 
README.md
README.md
 
 
build.properties
build.properties
 
 
build_defs.bzl
build_defs.bzl
 
 
mvn.bzl
mvn.bzl
 
 
osgi.bzl
osgi.bzl
 
 
pom-template.xml
pom-template.xml
 
 
pom.xml
pom.xml
 
 
test_defs.bzl
test_defs.bzl
 
 

Repository files navigation

Guice

  • Latest releases:
    • 6.0.0 (supports javax.{inject,servlet,persistence}, mostly supports jakarta.inject)
    • 7.0.0 (supports jakarta.{inject,servlet,persistence})
    • (6.0.0 & 7.0.0 are equivalent except for their javax/jakarta support.)
  • Documentation:
    • User Guide,
    • 6.0.0 javadocs
    • 7.0.0 javadocs
    • Latest Snapshot javadocs
  • Continuous Integration: Build Status
  • Mailing Lists: User Mailing List
  • License: Apache 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. 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

About

Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 11 and above, brought to you by Google.

github.com/google/guice

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

12.7k stars

Watchers

510 watching

Forks

1.7k forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.