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.