@Autowired annotation provides fine-grained control over where and how autowiring should be accomplished. The @Autowired annotation can be used to autowire a bean on the setter method, constructor, a property or methods with arbitrary names and/or multiple arguments.
Autowired annotation on setter methods.
The @Autowired annotation can be applied on setter methods that eliminates the <property> element in XML configuration file. Spring performs byType autowiring on the property setter method when marked as Autowired.
Autowired annotation on bean properties.
Autowired annotation on properties eliminate the need of setter methods. When value for the autowired properties is set using <property> in the xml configuration, Spring will automatically assign those properties with the passed values or references.
Autowired on Constructors.
A @Autowired constructor indicates that the constructor should be autowired when creating the bean, even if no <constructor-arg> elements are used while configuring the bean in XML file.