Spring @Value Import a list from properties file
By:Roy.LiuLast updated:2019-08-17
In this tutorial, we will show you how to import a “List” from a properties file, via Spring EL @Value
Tested with :
- Spring 4.0.6
- JDK 1.7
Spring @Value and List
In Spring @Value, you can use the split() method to inject the ‘List” in one line.
config.properties
server.name=hydra,zeus server.id=100,102,103
AppConfigTest.java
package com.mkyong.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<String> servers; @Value("#{'${server.id}'.split(',')}") private List<Integer> serverId; //To resolve ${} in @Value @Bean public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() { return new PropertySourcesPlaceholderConfigurer();
Output
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);
hydra zeus 100 102 103
References
From:一号门
COMMENTS