1


プロパティファイルをロードしています

@PropertySource("classpath:propFile.properties")

このプロパティ ファイルには、次のエントリがあります。

list.of.stg=a,b,c

さらに、私は:

@Value("${list.of.stg}")public void setSomeList(...)
{in the method, the parameter has only the value a!!!}

の完全な値に到達する方法を教えてください。

list.of.stg
ありがとうございました!

4

2 に答える 2

1

試してみてください

@Value("#{T(org.springframework.util.StringUtils).commaDelimitedListToStringArray(environment['list.of.stg'])}")
于 2013-03-14T18:43:53.213 に答える
0

プロパティ値は として渡されるため、String使用する必要がありますが、 Spring ELString#splitと組み合わせることができます。

@Value("#{'${list.of.stg}'.split(',')}") 
public void setSomeList(List<String> list) {
   this.myList = list;
}

または単にクラスメンバー変数で

@Value("#{'${list.of.stg}'.split(',')}") 
private List<String> myList;

注釈を使用するときはいつものように、必要なプロパティ ファイルをロードするため@PropertySourceに を作成することを忘れないでください。PropertyPlaceholderConfigurer @Bean

関連: @Value と ArrayList

于 2013-03-14T17:19:51.043 に答える