Reinstate support for placeholders in @EntityScan
Fixes gh-25436
This commit is contained in:
@@ -31,6 +31,7 @@ import org.springframework.boot.autoconfigure.domain.scan.b.EmbeddableB;
|
||||
import org.springframework.boot.autoconfigure.domain.scan.b.EntityB;
|
||||
import org.springframework.boot.autoconfigure.domain.scan.c.EmbeddableC;
|
||||
import org.springframework.boot.autoconfigure.domain.scan.c.EntityC;
|
||||
import org.springframework.boot.test.util.TestPropertyValues;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
|
||||
@@ -66,6 +67,19 @@ class EntityScannerTests {
|
||||
context.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
void scanShouldScanFromResolvedPlaceholderPackage() throws Exception {
|
||||
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues.of("com.example.entity-package=org.springframework.boot.autoconfigure.domain.scan")
|
||||
.applyTo(context);
|
||||
context.register(ScanPlaceholderConfig.class);
|
||||
context.refresh();
|
||||
EntityScanner scanner = new EntityScanner(context);
|
||||
Set<Class<?>> scanned = scanner.scan(Entity.class);
|
||||
assertThat(scanned).containsOnly(EntityA.class, EntityB.class, EntityC.class);
|
||||
context.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
void scanShouldScanFromMultiplePackages() throws Exception {
|
||||
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ScanAConfig.class,
|
||||
@@ -141,4 +155,10 @@ class EntityScannerTests {
|
||||
|
||||
}
|
||||
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@EntityScan("${com.example.entity-package}")
|
||||
static class ScanPlaceholderConfig {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user