2015-10-23 4 views
1

Я определил одно значение карты в файле Spring Spring.Как определить последовательность значений карты весной

* -spring.xml файл

<util:map id="ruleEvaluationService" map-class="java.util.HashMap"> 
    <entry key="CFN" value-ref="cfnRuleEvaluationService" /> 
    <entry key="PH" value-ref="phRuleEvaluationService" /> 
    <entry key="MPG" value-ref="mpgRuleEvaluationService" /> 
</util:map> 

<bean id="ruleEngine" class="com.medtronic.b2b.core.cvg.service.impl.RuleEngineImpl"> 
    <property name="ruleEvaluationService" ref="ruleEvaluationService" /> 
</bean> 

мне нужно поддерживать последовательность стоимости карт таким образом, что первое значение CFN оценки, если не соответствует, то PH и дальнейшее значение MPG. Мое мнение состояло в том, что если я приведу запись в Map в правильном порядке, я получу ту же последовательность и в своем java-файле. Но то же самое не происходит.

RuleEngineImpl.java

@Resource(name = "ruleEvaluationService") 
private Map<MedtronicB2BRuleType, RuleEvaluationService> ruleEvaluationService; 

// some code 

public void setRuleEvaluationService(final Map<MedtronicB2BRuleType, RuleEvaluationService> ruleEvaluationService) { 
    final Map<MedtronicB2BRuleType, RuleEvaluationService> map = new LinkedHashMap<MedtronicB2BRuleType, RuleEvaluationService>(); 
    for (final MedtronicB2BRuleType key : ruleEvaluationService.keySet()) { 
     map.put(key, ruleEvaluationService.get(key)); 
    } 
    this.ruleEvaluationService = Collections.unmodifiableMap(map); 
} 

}

Здесь я пишу логин в присваивателя заполнить карту в правильной последовательности. Но если я печать карты, получение неправильной последовательности

Set<MedtronicB2BRuleType> ruleTypeSet = ruleEvaluationService.keySet();

Результат: [PH, НКС, MPG]

Почему я не получаю последовательность как НКС, PH, MPG. Каков правильный способ определения последовательности весной.

Пожалуйста, помогите.

ответ

2

Вы можете использовать LinkedHashMap вместо HashMap, в этом случае ваш заказ будет сохранен.

<util:map id="ruleEvaluationService" map-class="java.util.LinkedHashMap "> 
Смежные вопросы