java - 如何使用 lambda 实现 ComponentScan 的 CUSTOM 过滤器?
问题描述
与自定义过滤器一起使用@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
注释类。
那么如果所需的参数是,是否可以使用 lambda Class
?如果没有,您将如何更新此类Filter
以支持它?
解决方案
推荐阅读
- python-3.x - Python 3将二进制文件打开到列表中
- oauth-2.0 - Access 和 Id 令牌之间的“sub”声明值不同
- r - R中的聚集散点图
- http - 在 http 路由处理程序中包装 socketio 服务
- python - pytest 或 py.test,以及不一致的文档
- php - 无法声明类 FPDF,因为该名称已在使用中(Wordpress 自定义插件)
- java - 创建按钮,但每个按钮都有自己的变量名
- javascript - ParcelJS,在捆绑项目中使用 Chrome 控制台?
- javascript - Firebase 限制用户写入权限
- angular - 根据文档 ID 显示来自 Firestore 的数据