Open Source Dependency Injection containers and IoC frameworks

17 projects

Lightweight dependency-injection framework for Java. Uses annotations and generics to wire and test objects; supports javax. inject and Jakarta inject.

Details

Full software stack and IoC container for modular applications. Component lifecycles, instantiation strategies, nested containers, auto-wiring; constructor, setter, field injection. Used by Maven.

Details

Inversion of coupling control: dependency injection into methods, thread injection, First-Class Procedures. Multi-threaded, auto-wiring and graphical config; Servlet and Spring plug-ins. GPL.

Details
DNAInactive

Lightweight Inversion of Control framework. Components declare required and provided resources via metadata; supports dependency wiring and lifecycle.

Details
LoomInactive

Microkernel built on the DNA framework. Supports Avalon-style components and was intended to support DNA and PicoContainer components.

Details

DI container that manages trees of PicoContainers. Adds classloader management, class-name-based composition via reflection, and scripting support (Groovy, Beanshell, Jython, Rhino).

Details

Lightweight embeddable DI container for components that honour dependency injection. Constructor, setter, annotated injection; scoped containers; JSR 330.

Details
CarbonInactive

Lightweight component model and services framework with a decoupled, metadata-centric design. Provides replaceable service components, separation of concerns, and modules for cache, EJB, JNDI, scheduling, and SQL.

Details
JICEInactive

XML-based IoC container for constructing and configuring Java applications. Defines an XML vocabulary and tools to build object graphs; supports constructor and setter injection and arbitrary method calls during initialization.

Details
SpiceInactive

Repository of components for Component Oriented Programming and Inversion of Control (IoC). Object brokering, distributed computing; BSD licensed.

Details
AvalonInactive

Java framework for component and container programming; pioneered IoC and separation of concerns. Included subprojects such as Excalibur (Fortress IoC, LogKit) and related containers.

Details
ExcaliburInactive

Lightweight, embeddable Inversion of Control container (Fortress) and component libraries. Manages components following the Avalon lifecycle; includes ContainerKit, XMLUtil, Thread, and other utilities.

Details
GravityInactive

Dependency and configuration management framework with a plugin model for IoC/DI. Includes a default BeanShell plugin for component configuration.

Details
HiveMindInactive

Services and configuration microkernel: POJO services with dependency injection, configurable data from multiple modules, and module deployment descriptors. Used by Tapestry.

Details
PeapodInactive

Lightweight container: interface, implementation and XML metadata form a component; host manages hot-deploy, dependency lifecycle, versioning, declarative AOP. Plain Java.

Details
SotoInactive

Lightweight, non-intrusive service framework. Configuration via Java introspection; conditional instantiation, resource resolving, layers; JMX and AOP.

Details
YanInactive

Lightweight non-intrusive IoC container. Compact Java API with no external dependencies; optional services for component monitoring, lifecycle management, and XML configuration.

Details