@Configuration
@ComponentScan(value = "com.componentscan", useDefaultFilters = false,
includeFilters = {
@Filter(type = FilterType.ANNOTATION, classes = {Controller.class}) ,
@Filter(type=FilterType.ASSIGNABLE_TYPE,classes=BookService.class)
})
public class ConfigTest {
@Bean(value = "person01")
public Person person111() {
return new Person("haha", 100);
}
}
FilterType類中包含了過濾的規則。
public enum FilterType {
ANNOTATION, //按照註解
ASSIGNABLE_TYPE, //掃描指定的類型
ASPECTJ,
REGEX, //使用正則表達式
CUSTOM //自定義過濾規則
}
理解:
使用FilterType.ANNOTATION通過註解的過濾規則,後面classes 參數寫要過濾的註解的類。
使用FilterType.ASSIGNABLE_TYPE通過指定類型過濾規則,後面的classes參數寫指定的類。