The @Autowired annotation provides more fine-grained control over where
and how autowiring should be accomplished. It can be used to autowire bean on
the setter method just like @Required annotation, on the constructor, on a
property or pn methods with arbitrary names and/or multiple arguments.