From d8cec72170ec8550fc39ed16342f72674c5398ae Mon Sep 17 00:00:00 2001 From: JohnZhang Date: Tue, 29 Apr 2014 02:46:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=91=E8=8A=B1=E4=BA=86=E5=BE=88=E4=B9=85?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E9=97=B4=E6=9D=A5=E8=B7=9F=E8=B8=AA=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=E9=97=AE=E9=A2=98=EF=BC=8C=E5=B8=8C=E6=9C=9B=E8=BF=99?= =?UTF-8?q?=E6=AE=B5=E4=BB=A3=E7=A0=81=E8=83=BD=E4=BD=BF=E6=88=91=E7=9A=84?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E7=9A=84Environment=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/RepositoryBeanDefinitionBuilder.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java index 9fb5ec0425..9bcebd51f6 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java @@ -28,6 +28,9 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider; +import org.springframework.core.env.Environment; +import org.springframework.core.env.EnvironmentCapable; +import org.springframework.core.env.StandardEnvironment; import org.springframework.core.io.ResourceLoader; import org.springframework.core.type.classreading.CachingMetadataReaderFactory; import org.springframework.core.type.classreading.MetadataReaderFactory; @@ -151,9 +154,11 @@ private AbstractBeanDefinition detectCustomImplementation(RepositoryConfiguratio // Build pattern to lookup implementation class String className = configuration.getImplementationClassName(); Pattern pattern = Pattern.compile(".*\\." + className); + Environment environment = (resourceLoader instanceof EnvironmentCapable) ? + ((EnvironmentCapable) resourceLoader).getEnvironment() : new StandardEnvironment(); - // Build classpath scanner and lookup bean definition - ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false); + // Build classpath scanner and lookup bean definition + ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false,environment); provider.setResourceLoader(resourceLoader); provider.setResourcePattern(String.format(CUSTOM_IMPLEMENTATION_RESOURCE_PATTERN, className)); provider.setMetadataReaderFactory(metadataReaderFactory);