Spring @Value - импортировать список из файла свойств

Spring @Value - Импортировать список из файла свойств

В этом руководстве мы покажем вам, как импортировать «Список» из файла свойств через Spring EL@Value.

Протестировано с:

  1. Весна 4.0.6

  2. JDK 1,7

Весна @ значение и список

В Spring@Value вы можете использовать методsplit(), чтобы вставить «Список» в одну строку.

config.properties

server.name=hydra,zeus
server.id=100,102,103

AppConfigTest.java

package com.example.analyzer.test;

import java.util.List;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;

@Configuration
@PropertySource(value="classpath:config.properties")
public class AppConfigTest {

    @Value("#{'${server.name}'.split(',')}")
    private List servers;

    @Value("#{'${server.id}'.split(',')}")
    private List serverId;

    //To resolve ${} in @Value
    @Bean
    public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
        return new PropertySourcesPlaceholderConfigurer();
    }

}

Выход

    System.out.println(servers.size());
    for(String temp : servers){
        System.out.println(temp);
    }

    System.out.println(serverId.size());
    for(Integer temp : serverId){
        System.out.println(temp);
    }
2
hydra
zeus

3
100
102
103