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