Spring Boot 排除某个类加载注入IOC的操作

这篇文章主要介绍了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))

这段是经典~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持html中文网。

以上就是Spring Boot 排除某个类加载注入IOC的操作的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java