![](/img/trans.png)
[英]Junit test spring controller mockMvc @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并不是惰性初始化的。
它将加载整个应用程序上下文。 但是您可以将bean文件拆分(例如分成DAO,服务层,控制器),并在主应用程序中包含每个文件一次。 在您的测试中,只需使用您感兴趣的图层。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.