Аннотация @ComponentScan
отвечает за автоматическую загрузку любых классов, отмеченных @Component
, или производных аннотаций.Эта аннотация имеет различные параметры для фильтрации загружаемых bean-компонентов.
Если родительский пакет импортируемого приложения отличается от основного приложения, вы можете просто установить параметр basePackages
для определенного родительского пакета.
Например, скажем, что ваше основное приложение имеет пакет com.example.main
, а импортированное приложение имеет com.example.imported
, вы можете ввести:
@ComponentScan(basePackages = {"com.example.main"})
Это будет импортировать только bean-компоненты, определенные впакет основного приложения.
Если этого недостаточно, вы также можете использовать опцию excludeFilters
в той же аннотации.
@ComponentScan(excludeFilters={
@ComponentScan.Filter(type=FilterType.ASSIGNABLE_TYPE, value=Imported.class)
})
Вы также можете комбинировать оба варианта для более специфической фильтрации,