用弹簧注入字符串的快捷方式

nau*_*cho 12 java spring

我通过执行以下操作在Spring配置中注入了Strings:

<bean class="java.lang.String">
    <constructor-arg type="java.lang.String" value="Region" />
</bean>
Run Code Online (Sandbox Code Playgroud)

这样做的时间更短吗?

更新: 我使用的是Spring 3.0.3.

这些实际上用于填充列表:

        <list>
            <bean class="java.lang.String">
                <constructor-arg type="java.lang.String" value="Region" />
            </bean>
            ...
Run Code Online (Sandbox Code Playgroud)

看起来像这样工作:

<list>
   <value>Region</value>
   <value>Name</value>
   ....
Run Code Online (Sandbox Code Playgroud)

但我同意这一建议,即最终应归入财产并传入.

Sot*_*lis 14

你不应该有String豆子.直接使用他们的价值.

创建属性文件strings.properties并将其放在类路径上

strings.key=Region
Run Code Online (Sandbox Code Playgroud)

宣布一个 PropertyPlaceholderConfigurer

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
        <value>strings.properties</value>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

然后注释实例字段字符串为

@Value("${strings.key}")
private String key;
Run Code Online (Sandbox Code Playgroud)

Spring会将strings.properties文件中的值注入此keyString.

这显然假设@Value注释出现的类是在与上下文相同的上下文中管理的bean PropertyPlaceholderConfigurer.