According to https://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-method-injection.html,
Concrete methods are also necessary for component scanning, which requires concrete classes to pick up.
Note that you should typically declare such annotated lookup methods with a concrete stub implementation, in order for them to be compatible with Spring’s component scanning rules where abstract classes get ignored by default.
Abstract @Lookup
methods are compatible with component scanning as of 4.3.6 thanks to https://github.com/spring-projects/spring-framework/issues/19118, so the documentation is incorrect/misleading.