DATACMNS-1772 - Remove SpringDataAnnotationBeanNameGenerator and use BeanNameGenerator directly.

We now invoke BeanNameGenerator directly without additional indirections. Previously, SpringDataAnnotationBeanNameGenerator was calling BeanNameGenerator using null for BeanDefinitionRegistry which caused downstream null dereference.
This commit is contained in:
Mark Paluch
2020-07-21 14:51:23 +02:00
parent fa01e15122
commit 6f10d5a727
4 changed files with 18 additions and 58 deletions

View File

@@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefiniti
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.SimpleBeanDefinitionRegistry;
import org.springframework.context.annotation.AnnotationBeanNameGenerator;
import org.springframework.context.annotation.ScannedGenericBeanDefinition;
import org.springframework.core.type.classreading.MetadataReader;
@@ -39,6 +40,8 @@ import org.springframework.data.repository.core.support.RepositoryFactoryBeanSup
*
* @author Oliver Gierke
* @author Jens Schauder
* @author Mark Paluch
* @soundtrack Take Me Away (Extended Mix) - Kaimo K, Trance Classics & Susanne Teutenberg
*/
class RepositoryBeanNameGeneratorUnitTests {
@@ -50,7 +53,7 @@ class RepositoryBeanNameGeneratorUnitTests {
@BeforeEach
void setUp() {
this.generator = new RepositoryBeanNameGenerator(Thread.currentThread().getContextClassLoader(),
new AnnotationBeanNameGenerator());
new AnnotationBeanNameGenerator(), new SimpleBeanDefinitionRegistry());
}
@Test