This document provides an overview and tutorial on the Java Injection (CanDI) pattern. It describes four main patterns used in CanDI: service pattern, resource configuration pattern, startup pattern, and plugin/extension pattern. The service pattern organizes an application around services. The resource pattern binds and configures application resources with annotations and XML. The startup pattern initializes application state using @Startup beans. The plugin pattern allows discovering plugin/extension classes for a service using the Instance interface and @Any annotation.