如何使用@Value注释注入字符串值列表.我正在使用Spring 4.1.2.
我试过了:
@Value(value = "top, person, organizationalPerson, user")
private List<String> userObjectClasses
Run Code Online (Sandbox Code Playgroud)
然后根据内联列表的spring el文档:
@Value(value = "{top, person, organizationalPerson, user}")
private List<String> userObjectClasses
Run Code Online (Sandbox Code Playgroud)
这些尝试仅注入作为列表中唯一元素给出的值的字符串文字.
编辑
在这种情况下,我希望能够简单地对值进行硬编码,而不是从属性文件中读取.这种方法看起来有点不如:
private List<String> userObjectClasses = Arrays.asList(new String[] {"top", "person", "organizationalPerson", "user"});
Run Code Online (Sandbox Code Playgroud)
在过去,我使用spring的XML配置来连接bean,在这种情况下我可以做(假设bean有一个userObjectClasses属性的公共setter ):
<property value="userObjectClass">
<list>
<value>top</value>
<value>person</value>
<value>organizationalPerson</value>
<value>user</value>
</list>
</property>
Run Code Online (Sandbox Code Playgroud)
使用基于注释的配置时是否有类似的功能?
Yur*_*uri 29
list.of.strings=first,second,third 从属性文件中获取例如
然后使用SpEL:
@Value("#{'${list.of.strings}'.split(',')}")
private List<String> list;
Run Code Online (Sandbox Code Playgroud)
编辑
然后我认为你不需要为这种类型的任务使用注释.您可以完成所有工作,就像您已经进行了操作一样,或者在@PostConstruct中进行初始化某些字段.
| 归档时间: |
|
| 查看次数: |
22202 次 |
| 最近记录: |