Я предполагаю, что вы используете аннотацию @SpringBootApplication
в своем основном классе, и ваша структура пакета должна выглядеть примерно так:
src/main/java/
-> Main
-> securitypackage
-> all other packages
Если это так, вы автоматически добавляете следующие аннотации к своей основной.
@EnableAutoConfiguration
: включить механизм автоконфигурации Spring Boot
@ComponentScan
: включить @Component
сканирование пакета, в котором находится приложение
@Configuration
: разрешить регистрировать дополнительные компоненты в контексте или импортировать дополнительные классы конфигурации
Как видите, с помощью этой одной аннотации вы действительно добавляете три аннотации в одну, в которую входит @ComponetScan
. Вы можете найти намного больше на Spring docs .
Обновление
Если вам нужно исключить пакеты из проверки вашего компонента, вы можете использовать опцию excludeFilters
. Например, если вы хотите исключить все содержимое пакетов es
и spring
, вы можете сделать следующее.
@ComponentScan(basePackages = {"com.company.product.service", "com.company.product.common.redis"},
excludeFilters = {
@Filter(type = FilterType.REGEX, pattern="com.company.product.common.spring.*"),
@Filter(type = FilterType.REGEX, pattern="com.company.product.common.es.*")})
Если @Filter
не работает, попробуйте использовать @Component.Filter
. Надеюсь, что это работает.