Java 在Spring上下文文件中定义集合筛选器的最佳实践

Java 在Spring上下文文件中定义集合筛选器的最佳实践,java,spring,collections,guava,lambdaj,Java,Spring,Collections,Guava,Lambdaj,定义过滤器以应用于spring上下文文件中的对象集合的最佳实践是什么 假设我有一群人(一群人)。每个人都有年龄/姓名/性别/职业/电子邮件属性 我需要根据一些标准和简单的谓词创建这些人的子组。示例分组可以是: sex=男性 性别=女性和年龄>30岁和职业=IT sex=Male&&accounty=IT&&email endsWith“aol.com” 通过在代码中定义谓词,将它们拉入上下文文件中的集合,并在需要时注入适当的谓词集合,我可以看到一个相对简单的方法来使用Guava谓词&Colle

定义过滤器以应用于spring上下文文件中的对象集合的最佳实践是什么


假设我有一群人(
一群人
)。每个人都有
年龄/姓名/性别/职业/电子邮件
属性

我需要根据一些标准和简单的谓词创建这些人的子组。示例分组可以是:

  • sex=男性
  • 性别=女性和年龄>30岁和职业=IT
  • sex=Male&&accounty=IT&&email endsWith“aol.com”
  • 通过在代码中定义
    谓词
    ,将它们拉入上下文文件中的集合,并在需要时注入适当的谓词集合,我可以看到一个相对简单的方法来使用Guava谓词&
    Collections2.filter()

    JFilter
    也是一个可能的竞争者,因为您可以将过滤器定义为字符串。LambdaJ似乎是Java中过滤集合的另一个流行选项,但不清楚如何允许从Spring上下文驱动过滤逻辑


    有没有更好的办法


    注意,我希望避免每次调用数据库,因为我已经在内存中收集了我关心的对象。

    您的意思是这些对象当前存储在数据库表中吗?或者您想使用其他存储来避免使用数据库。因此,我要筛选的对象保存在对象集合中,而不是数据库中。好的,但您这里所说的“更好”是什么意思(正如您已经知道的几种方法)我的问题是,是否有一个更好的/标准的方式来做这件事,我在谷歌ing中错过了——我编辑了标题以更好地反映这一点。