小编给大家分享一下Spring Boot如何排除某个类加载注入IOC的操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Spring Boot 排除某个类加载注入IOC
我们项目往往会引入其他项目的依赖,造成功能冲突的类,我们想把这些类排除掉,不注入到我们项目IoC容器中,
只加载自己的类
@ComponentScan(basePackages = "com.xxx",excludeFilters = { @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,classes = { xxxPublisher.class, xxxAdvice.class, xxxService.class})})
其中这三个类,我不需要加载到我们项目中,需要指明type=FilterType.ASSIGNABLE_TYPE
不指定type类型执行classes={xxx...} 排除不了
它有五种类型:
public enum FilterType { ANNOTATION, ASSIGNABLE_TYPE, ASPECTJ, REGEX, CUSTOM;}
spring boot 排除个别配置类的代码
废话不说,直接上代码
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})@EnableScheduling@ComponentScan(basePackages = {"com.hudai.platform.sms.vendor","com.hudai.platform.scp"}, excludeFilters =@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = com.hudai.platform.scp.alert.config.RestTemplateConfig.class))public class SmsVendorApplication { public static void main(String[] args) { SpringApplication.run(SmsVendorApplication.class, args); }}
excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = com.hudai.platform.scp.alert.config.RestTemplateConfig.class))
以上是“Spring Boot如何排除某个类加载注入IOC的操作”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!