Как реализовать CUSTOM фильтр ComponentScan с помощью лямбда? - PullRequest
0 голосов
/ 19 октября 2019

При использовании @ComponentScan с пользовательским фильтром код должен выглядеть следующим образом:

@ComponentScan(includeFilters = {@ComponentScan.Filter(
type = FilterType.CUSTOM, value = {**TypeFilterImpl**.class})})

Но при взгляде на TypeFilter:

@FunctionalInterface
public interface TypeFilter {
    boolean match(MetadataReader var1, MetadataReaderFactory var2) throws IOException;
}

Как говорит@FunctionalInterface, похоже, идеальная ситуация для использования лямбды. Но тогда у нас есть это:

@interface Filter {
    Class<?>[] value() default {};
}

Это означает, что @ComponentScan.@Filter.value принимает только Class<?>[], а не типичный @FunctionalInterface аннотированный класс для лямбды.

Так что можно использоватьлямбда, если обязательный аргумент Class? Если нет, то как бы вы обновили этот класс Filter для его поддержки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...