SpringBoot之Enable*注解(自动配置)
声明:SpringBoot中提供了很多Enable开头的注解,这些注解都是用于动态开启某些功能的,而其底层原理是使用@Import注解导入一些配置类,实现Bean的动态加载,第三方jar包中的也可以通过此注解进行配置
@Enable底层依赖于@import注解导入一些类,使用@Import导入的类会被Spring加载到IOC容器中(也就是口语创建bean),而@Import提供四种用法
SpringBoot加载自定义bean三种用法
-
用法一:使用@ComponentScan扫描对应的包,该注解被@SpringBootApplication引用,默认扫描启动类所在包 及其子包
//这个是启动类注解内部定义的包扫描,该注解的存在决定了启动类的范围,当我们需要加载其他项目或者自定义累得时候,可以使用此注解,属性值为包名字符串类型 @ComponentScan( excludeFilters = { @Filter( type = FilterType.CUSTOM, classes = { TypeExcludeFilter.class} ), @Filter( type = FilterType.CUSTOM, classes = { AutoConfigurationExcludeFilter.class} )} ) public @interface</