我通过执行以下操作在我的 spring 配置中注入(inject)字符串:
<bean class="java.lang.String">
<constructor-arg type="java.lang.String" value="Region" />
</bean>
有没有更短的方法?
更新: 我正在使用 Spring 3.0.3。
这些实际上是用来填充列表的:
<list>
<bean class="java.lang.String">
<constructor-arg type="java.lang.String" value="Region" />
</bean>
...
好像这样有效:
<list>
<value>Region</value>
<value>Name</value>
....
但我同意这应该最终进入属性并被传递的建议。
最佳答案
你不应该有 String
bean。直接使用它们的值即可。
创建一个属性文件strings.properties
并放到classpath中
strings.key=Region
声明一个PropertyPlaceholderConfigurer
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>strings.properties</value>
</property>
</bean>
然后将实例字段Strings注解为
@Value("${strings.key}")
private String key;
Spring 会将 strings.properties
文件中的值注入(inject)到这个 key
字符串中。
这显然假设 @Value
注释出现的类是一个在与 PropertyPlaceholderConfigurer
相同的上下文中管理的 bean。
关于java - 用 Spring 注入(inject)字符串的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18596235/