1、注入list
<bean id="nameList" class="java.util.ArrayList">
<constructor-arg>
<list>
<value>xxx</value>
</list>
</constructor-arg>
</bean>
2、注入map
方式一:
<bean id="nameMap" class="java.util.HashMap">
<constructor-arg>
<map>
<entry key="xxx" value-ref="nameList" />
</map>
</constructor-arg>
</bean>
方式二:
<bean id="staragent" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map>
<entry key="default_server" value="xxxx"/>
<entry key="aaa_key" value="aaaaa"/>
<entry key="bbb_token" value="bbbb"/>
</map>
</property>
</bean>
3、对enum映射到list上
<bean id="myList" class="java.util.ArrayList">
<constructor-arg>
<list>
<value type="org.xxx.ExampleEnum">EXAMPLE_ONE</value>
<value type="org.xxx.ExampleEnum">EXAMPLE_TWO</value>
</list>
</constructor-arg>
</bean>
4、在map中使用enum作为key
<bean id="map" class="java.util.HashMap">
<constructor-arg>
<map>
<entry >
<key>
<value type="constants.ProcessTypeEnum">TYPE_INDEX</value>
</key>
<ref local="nylist">
</entry>
</map>
</constructor-arg>
</bean>
调用方法:
@SuppressWarnings("unchecked")
public static String getStarAgent(String key){
LinkedHashMap<String,String> map = (LinkedHashMap<String,String>)ContextUtils.getApplicationContext().getBean("staragent");
return map.getOrDefault(key,"");
}
public static List<String> getTrainServers(){
List<String> servers = (List<String>)ContextUtils.getApplicationContext().getBean("trainservers");
return servers;
}