Spring属性注入Bean的List属性

使用@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/*.propertiesvalue>
            list>
        property>
    bean>

注入Bean:

    @Value("#{'${client.valid.version}'.split(',')}")
    private List validVersions;


    public boolean isVersionValid(String version) {
        if (StringUtils.isBlank(version)) {
            return false;
        }

        return validVersions.contains(version);
    }

SpEL格式为#{},表达式内部运算转换成List。

你可能感兴趣的:(Java)