声明字符串类型为一行的spring bean

时间:2016-03-30 17:08:01

标签: java spring

我想以尽可能最短的方式在spring xml上下文中声明一个String类型的bean。到目前为止,这是我发现的最短路径

<bean id="bean1" class="java.lang.String">blah blah </bean>
<bean id="bean2" class="java.lang.String">blah blah </bean>
<bean id="bean3" class="java.lang.String">blah blah </bean>

但是,为了便于阅读,我想整齐地“叠加”这些,有点像这样,我不能只是因为关于行代码长度的团队标准而将所有代码放在一行上:

1x

1 个答案:

答案 0 :(得分:3)

  

为了便于阅读,我仍然希望将它全部保存在上下文文件中,并且我可以将上下文文件单独重新部署到类路径,而无需重新部署整个.jar

如果您想将所有内容保存在上下文文件中并希望简化它,那么您应该使用PropertyPlaceholderConfigurer而不是String bean。

这是一个例子,

  1. 创建名为project.properties
  2. 的属性文件
  3. 将所有Strings放在该文件中作为{key=value}对。例如,

    myStrings.cnst1=FOO
    myStrings.cnst2=BAR
    myStrings.cnst3=FOOBAR
    
  4. 现在,在您的上下文文件中声明PropertyPlaceholderConfigurer,如下所示:

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
        <value>project.properties</value>
    </property>
    

  5. 现在,您可以按如下方式轻松访问这些值:

    @Value("${myStrings.cnst1}")
    private String someString;
    
  6. 有关详细信息,请参阅this linkthis link