PicoContainer is a tiny embeddable container for Constructor Dependency Injection (CDI) Inversion of Control (IoC) Java components. There are implementations for Java, .NET, Ruby, and PHP. Simple components for PicoContainer do not have to extend, implement, or throw anything. They also do not ship with XML declarations.
| Tags | Software Development Libraries Java Libraries |
|---|---|
| Licenses | BSD Revised |
| Operating Systems | OS Independent |
| Implementation | Java |
Recent releases


Release Notes: This release fixes a race condition in IterativeAdapter, reworks Unsatisfiable dependency exception throwing to allow for better error messages, and updates Paranamer.


Release Notes: A threading issue in the shared IterativeInjector instance initialization was eliminated.


Release Notes: String Converters are now overridable and can be leveraged from parent containers if not specified in a child. Support for Named Method Injection @Named from JSR 330 (@Inject) has been added. The are some minor bugfixes.


Release Notes: Lifecycle strategy allows for the concept of lazy starting. This means that components are started at first access. Regex collecting of components for injection, or just on getComponent(), is now built in. Injection of a null parameter has been fixed. There are small performance improvements for getAdapter. Dependencies for Log4J and SLF4J have been moved forward. An exception in Lifecycle methods bug has been fixed. PicoBuilder is able to do more with Lifecycle strategies. Factory Injection has been improved with an 'InjectInto' type.


Release Notes: PicoContainer is now Google AppEngine compatible. Paranamer was upgraded to version 1.5. Reinjection calls can use cached results for method invocations. Constructor Injection is slightly faster for second/subsequent injections and for multi-constructor components.