给出以下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>
由于
答案 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来开销应用程序上下文。