This document introduces Google Guice, a dependency injection framework. It discusses dependency injection, benefits like separation of concerns and easier testing. It also covers disadvantages like potential maintenance issues. The document explores the Guice API including Injector, Module, Binder and different types of bindings like linked, annotated, instance and constructor bindings. It provides a simple example using traits, classes and annotations to demonstrate dependency injection with Guice. References for more information on Guice and dependency injection are also included.