对spring bean进行排序并直接在集合中保存bean

时间:2017-12-14 17:02:14

标签: java spring comparator

我是Spring和java的新手。我试图比较两个Spring bean属性值并根据它进行排序。

Main.java

public class Main {

public static void main(String[] args) {

    ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
    Circle circle = (Circle) context.getBean("circle");
    Rectangle rect = (Rectangle) context.getBean("rectangle");
    Square sq = (Square) context.getBean("square");
    System.out.println("Area of Circle: "+circle.calculateArea());
    System.out.println("Area of Rectangle: "+rect.calculateArea());
    System.out.println("Area of Square: "+sq.calculateArea());
}

}

现在基于我想要对spring bean / objects进行排序的区域,并根据区域将对象保存在集合中。任何人都可以建议在这里使用什么?比较?如果是这样,我们如何将它用于春豆?春天有哪些额外的方法可以让生活更轻松?任何人都可以建议或提供一个例子吗?或类似的线程?

1 个答案:

答案 0 :(得分:0)

使用多态。

  1. 创建一个界面(可能称为ThingsWithArea)。
  2. 在每个形状类中实现此接口。
  3. 将咖啡豆存放在Collection(我喜欢List)。
  4. 创建一个Comparator<ThingsWithArea>课程。  使用区域作为其中的分类标准。
  5. 使用比较器对列表进行排序。