在用spring-boot的时候,难以避免的,我们需要自己定义一些包。
而spring-boot默认的扫描路径是从Application的上级package为根路径开始扫描,或者需要自定义。
那么,如果,我们自己写的jar包,又不想去指定扫描路径应该怎么办呢?
1.第一种方法是,用注解引入,比如在注解中使用@Import
@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE}) @Documented @Import({AutoConfiguration.class}) public @interface EnableCommon2 { }
而在AutoConfiguration.class里指定扫描路径
@Configuration @ComponentScan(basePackages = { "com.moensun.common.utils2" }) public class AutoConfiguration { }
在需要使用的时候,加上注解 @ EnableCommon2,可以达到扫描 com.moensun.common.utils2包的效果。
2.利用spring-boot的 spring-boot-autoconfigure
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency>
另外,在spring.factories需要加入配置
org.springframework.boot.autoconfigure.EnableAutoConfiguration=/ com.moensun.utils2.configure.AutoConfiguration