Starting with Spring 4.3, if a class, which is configured as a Spring bean, has only one constructor, the @Autowired
annotation can be omitted and Spring will use that constructor and inject all necessary dependencies.
Regarding the default constructor: You either need the default constructor, a constructor with the @Autowired
annotation when you have multiple constructors, or only one constructor in your class with or without the @Autowired
annotation.
Read the @Autowired
chapter from the official Spring documentation for more information.