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 { }