From d1394a0962db76d73c086342396560b3ea5bef7d Mon Sep 17 00:00:00 2001 From: luffy9412 <1029559041@qq.com> Date: Wed, 20 Sep 2017 18:56:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../annotation/ConfigurationSelector.java | 19 +++++++++++++++++++ .../EnableWebCrawlerConfiguration.java | 2 ++ .../java/org/pqh/config/SpringConfig.java | 3 ++- .../java/org/pqh/config/WebCrawlerConfig.java | 3 +-- 4 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 core/src/main/java/org/pqh/core/annotation/ConfigurationSelector.java diff --git a/core/src/main/java/org/pqh/core/annotation/ConfigurationSelector.java b/core/src/main/java/org/pqh/core/annotation/ConfigurationSelector.java new file mode 100644 index 0000000..bc158de --- /dev/null +++ b/core/src/main/java/org/pqh/core/annotation/ConfigurationSelector.java @@ -0,0 +1,19 @@ +package org.pqh.core.annotation; + +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; + +/** + * Created by reborn on 2017/9/20. + */ +public class ConfigurationSelector implements ImportSelector{ + @Override + public String[] selectImports(AnnotationMetadata annotationMetadata) { + String path=this.getClass().getResource("").getPath(); + if(path.contains("core")){ + return new String[]{EnableWebCrawlerConfiguration.class.getName()}; + }else{ + return new String[0]; + } + } +} diff --git a/core/src/main/java/org/pqh/core/annotation/EnableWebCrawlerConfiguration.java b/core/src/main/java/org/pqh/core/annotation/EnableWebCrawlerConfiguration.java index aa67e14..40ca396 100644 --- a/core/src/main/java/org/pqh/core/annotation/EnableWebCrawlerConfiguration.java +++ b/core/src/main/java/org/pqh/core/annotation/EnableWebCrawlerConfiguration.java @@ -2,6 +2,7 @@ package org.pqh.core.annotation; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import java.lang.annotation.*; @@ -13,5 +14,6 @@ import java.lang.annotation.*; @Documented @Configuration @ComponentScan("org.pqh.core") +@Import(ConfigurationSelector.class) public @interface EnableWebCrawlerConfiguration { } diff --git a/web/src/main/java/org/pqh/config/SpringConfig.java b/web/src/main/java/org/pqh/config/SpringConfig.java index fc169c6..b7593b1 100644 --- a/web/src/main/java/org/pqh/config/SpringConfig.java +++ b/web/src/main/java/org/pqh/config/SpringConfig.java @@ -1,5 +1,6 @@ package org.pqh.config; +import org.pqh.core.annotation.ConfigurationSelector; import org.pqh.core.config.HibernateConfig; import org.springframework.context.annotation.*; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @@ -14,7 +15,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter @EnableAspectJAutoProxy @PropertySource("classpath:config.properties") @ComponentScan({"${spring.scan:org.pqh.controller}"}) -@Import({HibernateConfig.class,WebCrawlerConfig.class}) +@Import({HibernateConfig.class, ConfigurationSelector.class}) public class SpringConfig extends WebMvcConfigurerAdapter{ @Override diff --git a/web/src/main/java/org/pqh/config/WebCrawlerConfig.java b/web/src/main/java/org/pqh/config/WebCrawlerConfig.java index c29bf03..3f280fc 100644 --- a/web/src/main/java/org/pqh/config/WebCrawlerConfig.java +++ b/web/src/main/java/org/pqh/config/WebCrawlerConfig.java @@ -1,9 +1,8 @@ package org.pqh.config; import org.pqh.core.annotation.EnableWebCrawlerConfiguration; -import org.springframework.context.annotation.Configuration; -@Configuration + @EnableWebCrawlerConfiguration public class WebCrawlerConfig { }