# Package org.apache.cayenne.di.spi

- Interface Summary
  Interface | Description
  --- | ---
  ModuleProvider | Provider of modules used by module auto-loading mechanism to identify and load modules.

- Class Summary
  Class | Description
  --- | ---
  ConstructorInjectingDecoratorProvider<T> |
  DefaultAdhocObjectFactory | A default implementation of `AdhocObjectFactory` that creates objects using default no-arg constructor and injects dependencies into annotated fields.
  DefaultClassLoaderManager | A `ClassLoaderManager` that
  DefaultInjector | A default Cayenne implementations of a DI injector.
  DefaultScope | An implementation of a DI scopes with support scope events.
  DefaultScopeProvider<T> | A provider that provides scoping for other providers.
  DICollectionBuilder<K,​E> | A superclass of DI List and Map builders.
  ModuleLoader | Auto-loads DI modules using ServiceLoader.
  ScopeEventBinding | A class that wraps an annotated method call of an object, passing it DI scope events.