'Exclude @SpringBootApplication from component scanning
I have two classes marked as @SpringBootApplication under one directory:
@SpringBootApplication
public class FirstSpringBootApplication
and
@SpringBootApplication
public class SecondSpringBootApplication
@SpringBootApplication annotation contains @ComponentScan annotation and @EnableAutoConfiguration annotation. So, each of two of these classes will consider another as @Configuration bean. How to exclude FirstSpringBoodApplication from component scanning by SecondSpringBootApplication without using profiles?
Solution 1:[1]
In case you need to define two or more excludeFilters criteria, you have to use the array.
For instances in this section of code I want to exclude all the classes in the org.xxx.yyy package and another specific class, MyClassToExclude
Solution 2:[2]
The annotate class with below annotations will work similarly as @SpringBootApplication. It also does the same, and the excludeFilter is important, which is used to specify which class not to include while scanning.
@EnableAutoConfiguration
@ComponentScan(excludeFilters={@Filter(type=CUSTOM, classes={TypeExcludeFilter.class})})
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | Sae1962 |
