有意将 Spring Bean 设置为 null
我正在使用Spring将JMS连接工厂注入到我的Java应用程序中。由于这个工厂只在生产环境中是必需的,而不是在我开发的时候,所以我把bean定义放到一个单独的XML中,我把它包含在我的主应用程序Context.xml中。在生产环境中,此额外文件包含常规 Bean 定义。在我的本地开发环境中,我希望这个bean为空。试图简单地删除豆定义all-toghether显然会导致一个错误,当Spring遇到一个它不知道的引用ID时。
所以我尝试创建一个工厂bean,它只会返回null。如果我这样做,Spring(2.5.x)抱怨工厂返回null,尽管基于FactoryBean接口的Spring API文档,我希望这能起作用(参见Spring API文档)。
XML 如下所示:
<bean id="jmsConnectionFactoryFactory" class="de.airlinesim.jms.NullJmsConnectionFactoryFactory" />
<bean id="jmsConnectionFactory" factory-bean="jmsConnectionFactoryFactory" factory-method="getObject"/>
什么是“正确”的方法?