使用注释将默认值注入Spring bean

时间:2011-01-14 16:38:23

标签: java spring annotations javabeans

我想使用注释为bean中的列表设置默认值。

例如,如果它不是您可以执行的列表:

@Value("myValue")
String test;

但是,在我的情况下,我想为List of String提供默认值。

List<String> tests;

在XML中,它就是这样的:

<bean id="beanId" class="class...">
    <property name="tests">
        <list>
            <value>value 1</value>
            <value>value 2</value>
            <value>value 3</value>
        </list>
    </property>
</bean>

我想知道是否有现有的注释,或者我是否需要创建注释?

谢谢

2 个答案:

答案 0 :(得分:7)

@Value理解表达式语言,所以你可以使用任意方法调用,虽然语法可能会变得丑陋,如下所示:

@Value("#{T(java.util.Arrays).asList('Value 1','Value 2','Value 3')}")

<强>参考:

答案 1 :(得分:4)

您可以直接指定默认值,无需任何注释:

String test = "myValue";

List<String> tests = Arrays.asList("value 1", "value 2", "value 3");
当你希望Spring以与XML文件相同的方式处理值时,需要

@Value,例如,评估SpEL表达式,解析占位符等。如果你不需要它,你可以做分配没有注释的默认值。