Inject constructor
you can inject objects to constructor arguments.
The object instance can be injected by id or by value.
it is not recommended to inject objects to constructor because it can easily lead to circular reference.
it is not possible to use injected object via @inject
property in the constructor because it is not yet injected.
use @init to solve this