3
我對春天風格有一個微不足道的問題。Java Spring風格:針對給定類別的處理器類別的工廠
給定一組Java類:
ClassA的,ClassB的,ClassC & D類。
這些類來自另一個系統,不能更改。
這些類必須由不同的處理器處理。某些類由普通處理器處理。
所以我的問題是什麼是將類映射到其處理器的最佳春季方法。目前我有一個工廠豆與做這樣的事情:
package org.test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.springframework.stereotype.Component;
@Component
public class processorFactory
{
private static List<Object> proc1List = new ArrayList<Object>(Arrays.asList(
classA.class, classB.class));
private static List<Object> proc2List = new ArrayList<Object>(
Arrays.asList(classC.class));
private static List<Object> proc3List = new ArrayList<Object>(
Arrays.asList(classD.class));
public static processor getProcessor(Object object)
{
if (proc1List.contains(object))
return new processor1();
else if (proc2List.contains(object))
return new processor2();
else if (proc3List.contains(object))
return new processor3();
throw new RuntimeException("no processor.");
}
}
大多數的代碼是多餘的彈簧。我確信有很多種方法可以做到這一點,但我的問題是,在春季使用註釋實現這一點的最佳方式是什麼。
是的,這或多或少是我在真實代碼中得到的。它也有大寫字母P :-)。但我想知道是否有更好的方法來實現它--Spring應該是一個複雜的對象工廠,所以它可能會支持更好的方法。 – DUFF