使用@Value和SpEL来完成。
属性文件:
client.valid.version=1.2,1.1
XML配置:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="ignoreResourceNotFound" value="false" />
<property name="fileEncoding" value="UTF-8" />
<property name="locations">
<list>
<value>classpath*:/config/dev/*.properties</value>
</list>
</property>
</bean>
注入Bean:
@Value("#{'${client.valid.version}'.split(',')}")
private List<String> validVersions;
public boolean isVersionValid(String version) {
if (StringUtils.isBlank(version)) {
return false;
}
return validVersions.contains(version);
}
SpEL格式为#{}
,表达式内部运算转换成List。