|
对于最新稳定版本,请使用Spring Framework 7.0.1! |
混合XML、Groovy脚本和组件类
有时会希望混合使用XML配置文件、Groovy脚本和
组件类(通常)@Configuration类)来配置一个应用上下文为了你的考试。例如,如果你在 中使用 XML 配置
生产,你可能会决定你想使用@Configuration配置类
针对你的测试使用特定的Spring管理组件,或者反过来。
此外,一些第三方框架(如 Spring Boot)提供了一流的功能
支持加载应用上下文来自不同类型的资源
同时(例如,XML 配置文件、Groovy 脚本,以及@Configuration课程)。历史上,春季框架并未支持此
标准部署。因此,大多数SmartContextLoader实现
Spring Framework 在春季测试模块只支持一种资源类型
针对每个测试上下文。不过,这并不意味着你不能同时使用。一
一般规则的例外是GenericGroovyXmlContextLoader和GenericGroovyXmlWebContextLoader支持XML配置文件和Groovy
同时写剧本。此外,第三方框架也可以选择支持
两者的声明地点和类通过@ContextConfiguration,且,其中
TestContext框架中的标准测试支持,你有以下选项。
如果你想使用资源位置(例如 XML 或 Groovy),并且@Configuration为了配置你的测试,你必须选择一个作为入口点,而那个必须
包含或导入另一个。例如,在XML或Groovy脚本中,你可以包含以下内容@Configuration通过组件扫描或定义为普通 Spring 来实现类
豆子,而在@Configuration你可以用@ImportResource以导入 XML
配置文件或Groovy脚本。注意,这种行为在语义上是等价的
在生产环境中如何配置应用:在生产环境中,你
定义一组XML或Groovy资源位置,或一组@Configuration你所产出的类别应用上下文是加载的,但你仍然拥有
自由地包含或导入其他类型的配置。