转载

让自己写的jar包中的annotation被spring扫描到

在用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

让自己写的jar包中的annotation被spring扫描到

原文  http://blog.fengxiaotx.com/archives/837
正文到此结束
Loading...