Я не уверен, что вы можете явно исключить пакеты с помощью <exclude-filter>, но держу пари, что использование фильтра регулярных выражений эффективно поможет вам:
<context:component-scan base-package="com.example">
<context:exclude-filter type="regex" expression="com\.example\.ignore\..*"/>
</context:component-scan>
Чтобы сделать его основанным на аннотациях, вы должны аннотировать каждый класс, который вы хотите исключить для интеграционных тестов, с помощью чего-то вроде @ com.example.annotation.ExcludedFromITests. Тогда сканирование компонентов будет выглядеть так:
<context:component-scan base-package="com.example">
<context:exclude-filter type="annotation" expression="com.example.annotation.ExcludedFromITests"/>
</context:component-scan>
Это яснее, потому что теперь вы задокументировали в самом исходном коде, что класс не предназначен для включения в контекст приложения для интеграционных тестов.