diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java b/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java index 315a0e0dc..04c1f9556 100644 --- a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java +++ b/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java @@ -17,13 +17,15 @@ package org.springframework.data.repository.aot.generate; import java.util.List; +import org.jspecify.annotations.Nullable; + /** * Value object capturing metadata about a repository. * * @author Mark Paluch * @since 4.0 */ -record AotRepositoryMetadata(String name, String module, +record AotRepositoryMetadata(String name, @Nullable String module, org.springframework.data.repository.aot.generate.AotRepositoryMetadata.RepositoryType type, List methods) { diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReader.java b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReader.java index 6d064a294..0da2f66d8 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReader.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReader.java @@ -39,6 +39,7 @@ import org.springframework.data.repository.core.support.AbstractRepositoryMetada import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport; import org.springframework.data.repository.core.support.RepositoryFragment; import org.springframework.data.repository.core.support.RepositoryFragmentsContributor; +import org.springframework.util.Assert; import org.springframework.util.ClassUtils; import org.springframework.util.ObjectUtils; @@ -82,6 +83,8 @@ class RepositoryBeanDefinitionReader { */ public RepositoryInformation getRepositoryInformation() { + Assert.notNull(configuration, "Configuration must not be null"); + RepositoryMetadata metadata = AbstractRepositoryMetadata .getMetadata(forName(configuration.getRepositoryInterface())); Class repositoryBaseClass = getRepositoryBaseClass(); @@ -178,6 +181,8 @@ class RepositoryBeanDefinitionReader { return (RepositoryFragmentsContributor) BeanUtils.instantiateClass(getClass(bd)); } + Assert.state(beanDefinition.getBeanClassName() != null, "No Repository BeanFactory set"); + Class repositoryFactoryBean = forName(beanDefinition.getBeanClassName()); Constructor constructor = ClassUtils.getConstructorIfAvailable(repositoryFactoryBean, Class.class); diff --git a/src/test/java/org/springframework/data/repository/config/DummyRegistrarWithContributor.java b/src/test/java/org/springframework/data/repository/config/DummyRegistrarWithContributor.java index 85708eb8f..d509b4ecd 100644 --- a/src/test/java/org/springframework/data/repository/config/DummyRegistrarWithContributor.java +++ b/src/test/java/org/springframework/data/repository/config/DummyRegistrarWithContributor.java @@ -1,5 +1,5 @@ /* - * Copyright 2022-2025 the original author or authors. + * Copyright 2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/springframework/data/repository/config/EnableRepositoriesWithContributor.java b/src/test/java/org/springframework/data/repository/config/EnableRepositoriesWithContributor.java index 2c38047e0..051d18c6f 100644 --- a/src/test/java/org/springframework/data/repository/config/EnableRepositoriesWithContributor.java +++ b/src/test/java/org/springframework/data/repository/config/EnableRepositoriesWithContributor.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2025 the original author or authors. + * Copyright 2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.