我在生产系统中使用depends-on
属性来控制bean的关闭顺序。因此,Bean1
对Bean2
没有编译时依赖性,但应首先关闭它以确保正确操作。我想通过将Bean1
注入我的单元测试来单独测试Bean2
。因为Bean1
不是测试的一部分,所以当我运行测试时,我不希望它被Spring加载。是否有可能在Bean2
和Bean2
?
我提出的hacky解决方案是在我的测试上下文中简单地定义一个虚拟{{1}},它将被加载以满足依赖性,但我想要一个更优雅的解决方案。
答案 0 :(得分:0)
您可以在其自己的应用程序上下文文件中定义Bean1。将此文件包含在主应用程序上下文中,如下所示:
<import resource="classpath:/applicationContext-bean1.xml" />
现在,创建两个几乎相同的名为“applicationContext-bean1.xml”的文件。将一个存储在主应用程序目录中,另一个存储在test
目录中。不要将depends-on
放在test
目录中的文件中。然后,在运行测试时,请确保类路径包含主目录之前的test
目录。
我不知道这是否是一个更优雅的解决方案,但它是解决问题的另一种方法。 :)