使用@Bean在属性映射中定义键

时间:2014-07-27 08:06:34

标签: spring spring-java-config

给出以下XML配置:

<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
   <property name="environment">
      <map>
         <entry>
            <key><util:constant id="respectTTL" 
static-field="com....SOLACE_JMS_RESPECT_TIME_TO_LIVE"/>
             </key>
             <ref bean="booleanFalse"/>
         </entry>
      </map>
   </property>
</bean>

如何使用 @Bean

在Java中定义此部分
<key><util:constant id="respectTTL" 
    static-field="com....SOLACE_JMS_RESPECT_TIME_TO_LIVE"/>
</key>

由于

1 个答案:

答案 0 :(得分:0)

目前还不清楚为什么你害怕在这个问题上做一些Java代码:

@Bean
public JndiTemplate jndiTemplate() {
    JndiTemplate jndiTemplate = new JndiTemplate();

    Properties environment = new Properties();
    environment.setProperty(com....SOLACE_JMS_RESPECT_TIME_TO_LIVE, "false");
    jndiTemplate.setEnvironment(environment);

    return jndiTemplate;
}

由于你的常量是java代码,当然,@Bean用于java代码,你只需使用Spring Java Config中的任何java代码。

我们需要<util:constant>仅用于XML定义,因为我们不能简单地使用XML中的任何Java代码。

顺便说一句,如果您可以按原样使用常量,则没有理由使用冗余bean来开销应用程序上下文。

相关问题