Guice is a lightweight dependency injection framework for Java that allows configuring object bindings through modules. With Guice, classes declare their dependencies through constructor or field injection using the @Inject annotation rather than looking them up directly through factories. This improves testability. Modules map interfaces to implementations using a fluent binding API. At runtime, Guice uses this configuration to satisfy injection points. This reduces boilerplate code compared to manually wiring dependencies.