好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

我们项目往往会引入其他项目的依赖,造成功能冲突的类,我们想把这些类排除掉,不注入到我们项目IoC容器中,

只加载自己的类

?

1

2

3

4

5

@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...} 排除不了

它有五种类型:

?

1

2

3

4

5

6

7

public enum FilterType {

     ANNOTATION,

     ASSIGNABLE_TYPE,

     ASPECTJ,

     REGEX,

     CUSTOM;

}

spring boot 排除个别配置类的代码

废话不说,直接上代码

?

1

2

3

4

5

6

7

8

9

10

@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);

     }

}

?

1

excludeFilters = @ComponentScan .Filter(type = FilterType.ASSIGNABLE_TYPE, value = com.hudai.platform.scp.alert.config.RestTemplateConfig. class ))

这段是经典~

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

原文链接:https://blog.csdn.net/change987654321/article/details/107962886

查看更多关于Spring Boot 排除某个类加载注入IOC的操作的详细内容...

  阅读:16次