簡體   English   中英

Spring JUnit測試運行器@ContextConfiguration只是加載一個文件

[英]Spring JUnit test runner @ContextConfiguration just loading a single file

我正在使用bean工廠從測試類加載一個spring bean

XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("my-bean-file.xml"))
MyBean bean = (MyBean) factory.getBean("myBean")

我可以使用Spring JUnit4TestRunner加載單個bean,還是僅用於加載整個應用程序上下文?

如果你想這樣做是因為你的bean太昂貴而無法全部加載,你可以聲明它們是懶惰的,這意味着它們只會在需要時加載。

Spring Documentation示例:

<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true"/>

<bean name="not.lazy" class="com.foo.AnotherBean"/>

但是,當延遲初始化的bean是未進行延遲初始化的單例bean的依賴項時,ApplicationContext會在啟動時創建延遲初始化的bean,因為它必須滿足單例的依賴關系。 惰性初始化的bean被注入到其他地方的單獨的bean中,而這個bean並不是惰性初始化的。

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-lazy-init

它將加載整個應用程序上下文。 但是您可以將bean文件拆分(例如分成DAO,服務層,控制器),並在主應用程序中包含每個文件一次。 在您的測試中,只需使用您感興趣的圖層。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM