springboot自定义Enable注解使非启动类包路径的注解被扫描到

springboot扫描包路径默认是启动类平级或下级包的类。当我们需要封装一个插件,然后被spingboot依赖,但里面的类并不一定和springboot启动类的包路径一样,下面介绍怎么才能使注解被扫描到:

一、新建一个maven工程,定义一个配置类如下,@ComponentScan注解配置要被扫描到的包路径:

@Configuration
@ComponentScan("com.myproject.www.**")
public class MyProjectConfig {
}

二、定义一个Enable注解,@Import注解引入MyProjectConfig类,如下:

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@Documented
@Import({MyProjectConfig.class})
public @interface EnableMyProject {
}

三、把新建的maven工程deploy到私服,在springboot项目的启动类或能被springboot扫描到的配置类上面加上@EnableMyProject注解,com.myproject.www.**下的带注解的都能被扫描到

posted @ 2020-04-02 14:52  cruder  阅读(1988)  评论(0编辑  收藏  举报