Project: mule
Issue MULE-7684: Enable dependency injection on registry elements
Enable dependency injection (leveraging JSR 330 annotation as much as possible) in order to replace lifecycle calls and xxxAware interfaces Design a way for objects that contain other objects that must undergo though DI that doesn't depend on the parent object calling or delegating on each lfecycle hook to the child elements. This will bring either Spring, Guice or Dagger as a core dependency. Keep that dependency as small as possible (i.e. bringing as little modules as needed). Objects should not use container specific annotations (i.e. spring annotations) - when a non JSR330 annotation is needed, create one specific for mule and use it.
Story points: 21