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

本文主要介绍"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))

关于 "Spring Boot怎么排除某个类加载注入IOC的操作" 就介绍到这。希望大家多多支持编程宝库

本文主要介绍"Mybatis-Plus的示例分析",希望能够解决您遇到有关问题,下面我们一起来看这篇 "Mybatis-Plus的示例分析" 文章。Mybatis-Plus1.快速入门地址:安装 | My ...