Исходя из вашего кода, вы передаете "com.org.tools.clients.*"
как строку onyl, однако, просмотрев небольшую документацию, вы должны передать Array of Strings
.
/**
* The pattern (or patterns) to use for the filter, as an alternative
* to specifying a Class {@link #value}.
* <p>If {@link #type} is set to {@link FilterType#ASPECTJ ASPECTJ},
* this is an AspectJ type pattern expression. If {@link #type} is
* set to {@link FilterType#REGEX REGEX}, this is a regex pattern
* for the fully-qualified class names to match.
* @see #type
* @see #classes
*/
String[] pattern() default {};
Затем вы должны поместить свой код вЧтобы исправить это, выполните следующие действия.
@ComponentScan(
basePackages = Array("com.org.tools"),
excludeFilters = {@Filter(type = FilterType.ASPECTJ, pattern = Array("com.org.tools.clients.*")})
ОБНОВЛЕНИЕ С ИСПОЛЬЗОВАНИЕМ SCALA
Поскольку вы используете Scala
, то вы type
зарезервированы на keyword
тогда вы должны использовать обратные пометки, чтобы вы могли использовать его type
.сделать следующее:
import org.springframework.context.annotation.{ComponentScan, Configuration, FilterType, Profile}
import org.springframework.stereotype.Component
@Configuration
@ComponentScan(
basePackages = Array("com.org.tools"),
includeFilters = Array(
new ComponentScan.Filter(`type` = FilterType.ASPECTJ,
pattern = Array("com.org.tools.clients.*"))))
@Profile(Array("app"))