To handle the
situation in which there is no wiring, beans are available with @Autowired required attribute set to false.
But when using @Inject, the Provider interface works with the bean which means that
the bean is not injected directly but with the Provider.