在注入spring bean 属性值的时候经常会用到list, 一般使用方式如下:
<bean id="testBean" class="com.mytest.TestBean">
<property name="myList">
<list>
<value> 1 </value>
<value> 2 </value>
</list>
</properties>
</bean>
但是如果将这个list的值通过el表达式从properties文件中获取,如何做到,properties中存储的是键值对的数据,是不能正确存储列表数据的,只能使用字符串分割成数组、列表的形式。至于字符串的分割可以自己来分割也可以使用现有的spEL。
1. properties 中的配置(逗号分割的字符串)
2. bean的list属性
3. spring xml bean 注册 属性值
4. bean属性的setter 获取到了我们想要的结果
-------------------------------------------------
先不要急着用,其他spring还提供了更好用的InlineList, 即以大括号计算, 如 "{'a','b','c'}" , 所以还可以这样配置
xx.properties
imageDomains={'ezhe.com','gozap.com','chouti.com'}spring-service.xml
<bean id="hostsService" class="com.gozap.ezhe.service.impl.HostsServiceImpl">
<property name="imageDomains" value="#{${imageDomains}}" />
</bean>
-------------------------------------------------
org.springframework.expression.spel.standard.TokenKind
// ordered by priority - operands first
LITERAL_INT, LITERAL_LONG, LITERAL_HEXINT, LITERAL_HEXLONG, LITERAL_STRING, LITERAL_REAL, LITERAL_REAL_FLOAT,
LPAREN("("), RPAREN(")"), COMMA(","), IDENTIFIER,
COLON(":"),HASH("#"),RSQUARE("]"), LSQUARE("["),
LCURLY("{"),RCURLY("}"),
DOT("."), PLUS("+"), STAR("*"), MINUS("-"), SELECT_FIRST("^["), SELECT_LAST("$["), QMARK("?"), PROJECT("
被折叠的 条评论
为什么被折叠?



