Overview

Sisu is a modular JSR330-based container that supports classpath scanning, auto-binding, and dynamic auto-wiring.

Sisu uses Google-Guice to perform dependency injection and provide the core JSR330 support, but removes the need to write explicit bindings in Guice modules:

Guice.createInjector(
  new {@link org.eclipse.sisu.wire.WireModule}(                       // auto-wires unresolved dependencies
    new {@link org.eclipse.sisu.space.SpaceModule}(                     // scans and binds @Named components
      new {@link org.eclipse.sisu.space.URLClassSpace}( classloader )    // abstracts class/resource finding
) ) );
Unresolved dependencies are wired up through the {@link org.eclipse.sisu.inject.BeanLocator} which provides a dynamic lookup service across one or more injectors or {@link org.eclipse.sisu.inject.BindingPublisher}s.

Packages