有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用lambda实现ComponentScan的自定义过滤器?

@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所说的,使用lambda似乎是一个完美的情况。但我们有这样一个问题:

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

这意味着@ComponentScan.@Filter.value只接受Class<?>[],而不是lambda的典型@FunctionalInterface注释类

那么,如果所需参数为Class,是否可以使用lambda?如果没有,您将如何更新这个Filter类以支持它


共 (0) 个答案