@ComponentScan注解主要是代替了Spring XML’s <context:component-scan>这个元素,目的是扫描指定路径或默认当前包路径下的程序包配置类。
在项目中出现
** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.
的报错,所以我为@ComponentScan添加了路径:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan("com.test.component.controller")
@ServletComponentScan
public class ComponentTest {
public static void main(String[] args) {
SpringApplication.run(ComponentTest.class , args);
}
}
excludeFilters 和 includeFilters 的使用
使用 excludeFilters 来按照规则排除某些包的扫描。
@ComponentScan(value = "io.mieux",
excludeFilters = {@Filter(type = FilterType.ANNOTATION,
value = {Controller.class})})
public class BeanConfig {
}
配置之后,在 spring 扫描的时候,就会跳过 io.mieux 包下,所有被 @Controller 注解标注的类。
Spring中@ComponentScan过滤配置
本文介绍了@ComponentScan注解,它可代替Spring XML的<context:component-scan>元素,用于扫描指定路径下的程序包配置类。还讲述了为解决项目报错,为其添加路径,并介绍了excludeFilters和includeFilters的使用,如用excludeFilters按规则排除某些包的扫描。
5万+

被折叠的 条评论
为什么被折叠?



