This package contains the core API for PicoContainer, a compact container for working with the dependency injection pattern.

When you use PicoContainer for dependency injection, you create a new instance of {@link org.picocontainer.MutablePicoContainer}, register classes (and possibly {@link org.picocontainer.ComponentAdapter}s and component instances created through other means).

Object instances can then be accessed through the {@link org.picocontainer.PicoContainer} interface. The container will create all instances for you automatically, resolving their dependencies and order of instantiation. The default container implementation is the {@link org.picocontainer.defaults.DefaultPicoContainer} class.

An extensive user guide, a list of Frequently Asked Questions (FAQ) with answers and a lot more information is available from the PicoContainer website. You can also find various extensions, wrappers and utility libraries that are based on this core API there.