@Autowire allows you to inject beans from context into the "outside world" where the outside world is your application. Since you are in a "context of the world" with @Configuration classes, there is no need to explicitly autowire (look for a bean from the context).
Recall the analogy, for example, when accessing a method from a given instance. While you are in the instance scope, there is no need to write this to access the instance method, but the outside world will have to use the instance reference.
Edit
When you write the @Configuration class, you specify the metadata for the beans that the IOC will create.
@Autowire annotation, on the other hand, allows you to embed initialized beans, not metadata, into an application. Thus, there is no need for an explicit injection, because you are not working with beans when inside the Configuration class.
source share