How to automatically build a controller with dependency injection?
A solution could be to get a services container with objects
of different types, and a controller with a constructor requiring
the needed services.
A working example of this solution can be found in AcmeApplication,
instantiated in CodeClassTest unit test.
A use case can be to automate in a MVC framework the controllers
instantiation.
This solution requires services to be first initialized and doesn't
allow other topologies like lazy loading directly, but the reflection
classes added can be use as a base to build custom services containers.
For example, a variant of CodeClass::newInstanceFromServices can be
used with a different callable to select and build the dependency
from the type in key.
The scope of this commit is to offer bricks required to create
a service container, not to be a dependency injection framework.