Annotation Interface NonInjectableComponent


@Documented @Retention(CLASS) @Target({TYPE,FIELD,CONSTRUCTOR}) public @interface NonInjectableComponent
The annotated type (a component), field (a component dependency for another class), or constructor was not designed to be compatible with injection, meaning that:

  • for Types, other classes should not attempt to access an instance of this type as a dependency via auto-wired injection, as instances of this type retain instance-specific state;
  • for Fields, they should be instantiated manually;
  • for Constructors, the parameters declared in them include components which are NonInjectableComponents, and thus would not be satisfiable under default dependency injection circumstances