When switching from 4.x version to 5.x spring framework with the latest spring data we have noticed that one of our custom repository bean implementation was not picked up.
The reason for that is because the @Repository annotation did not specify explicitly the bean name which then delegates the bean name creation to the bean name generator. Bean generator is using Introspector.decapitalize method.
In our case our bean class name is UDPDefinitionRepositoryImpl (e.g. the second char is uppercase) which will define the bean with the name - UDPDefinitionRepositoryImpl.
But then the repository implementation lookup will use the bean name uDPDefinitionRepositoryImpl - which of course is not there - as a work around for now we can explicitly specify the respository bean name using @Repository("uDPDefinitionRepositoryImpl")
Affects: 2.1.3 (Lovelace SR3)
DATAJPA-1437 Property Reference Exception if custom repository implementation not in sub-package of the declared custom interface
("is duplicated by")