Home >Java >javaTutorial >How Can I Load a List of Strings from a Properties File into a Java Class Using Spring's @Value Annotation?
Loading a List from Properties File Using Spring's @Value Annotation
In Java applications, reading a list of values from a properties file and loading it into a class field can be efficiently achieved using Spring's @Value annotation. This allows developers to declare a field in a Java class and automatically populate it with values from a properties file.
To load a list of strings from a properties file into a field named myList, the following syntax can be used:
@Value("${my.list.of.strings}") private List<String> myList;
This annotation instructs Spring to load the value from the my.list.of.strings property in the properties file and populate the myList field with the list of strings. The properties file should contain the following entry:
my.list.of.strings=ABC,CDE,EFG
To achieve a similar effect using XML configuration, a custom List bean can be created and referenced in the Java class. However, using the @Value annotation provides a convenient and concise way to inject property values into fields directly, eliminating the need for manual bean creation.
Handling Comma-Separated Lists
Since the @Value annotation expects a single string value, it requires modification to handle comma-separated lists. To split the string into a list of strings, Spring Expression Language (SpEL) can be used. The following modified syntax will convert the comma-separated string into a list:
@Value("#{'${my.list.of.strings}'.split(',')}") private List<String> myList;
The above is the detailed content of How Can I Load a List of Strings from a Properties File into a Java Class Using Spring's @Value Annotation?. For more information, please follow other related articles on the PHP Chinese website!