spring-context.xml 的位置

2024-01-12

当我在 tomcat 上运行应用程序时, spring-context.xml 文件位于

/WEB-inf/spring-context.xml

还行吧。但是运行 junit 测试时,我必须向它提供 spring-test-context.xml 的位置,如下所示:

@ContextConfiguration(locations={"classpath:/spring-test-context.xml"})

唯一有效的方法是文件位于

/src/spring-context.xml

如何让我的应用程序在同一位置找到我的 spring-context 文件?那么它可以与 junit testes 一起工作并部署在 tomcat 上吗?

我尝试了这个,它给了我很多关于找不到任何bean的错误,但它并没有说找不到文件。

classpath:/WEB-INF/spring-test-context.xml

正如 duffymo 暗示的那样,Spring TestContext Framework (TCF) 假定字符串位置默认位于类路径中。有关详细信息,请参阅 JavaDoc上下文配置 http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/test/context/ContextConfiguration.html.

但请注意,您还可以使用 Spring 的资源抽象(即使用“file:”前缀)通过绝对路径或相对路径指定文件系统中的资源。您可以在 JavaDoc 中找到相关详细信息修改位置() http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/test/context/support/AbstractContextLoader.html#modifyLocations%28java.lang.Class,%20java.lang.String...%29Spring中的方法AbstractContextLoader.

例如,如果您的 XML 配置文件位于"src/main/webapp/WEB-INF/spring-config.xml"在项目文件夹中,您可以将位置指定为相对文件系统路径,如下所示:

@ContextConfiguration("file:src/main/webapp/WEB-INF/spring-config.xml")

作为替代方案,您可以将 Spring 配置文件存储在类路径中(例如,src/main/resources),然后通过 Spring MVC 配置中的类路径引用它们——例如:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:/spring-config.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

使用这种方法,您的测试配置将如下所示(请注意前导斜杠表示资源位于类路径的根目录中):

@ContextConfiguration("/spring-config.xml")

您可能还会发现使用 XML 资源进行上下文配置 http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#testcontext-ctx-management-xml参考手册中的部分很有用。

Regards,

Sam

(Spring TestContext 框架的作者)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring-context.xml 的位置 的相关文章

  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 使用Spring将war文件WEB-INF目录下的资源导入到applicationContext文件中

    我在我的项目中使用 Spring 框架 我想导入下面的所有 xml 资源 文件 WEB INF CustomerService spring integration Jobs applicationContext配置文件中war文件的目录
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O

随机推荐

  • 如何将 CallingMemberName 传递给自定义日志记录提供程序

    使用 ASP NET Core 并使用 ILogging 和 ILoggingProvider 实现我自己的控制台日志记录提供程序 因为我想将调用函数的名称作为日志记录以及日期 时间戳的一部分传递给记录器 检索调用函数名称的最佳方法是在函数
  • 同一java web应用程序的url重定向/映射到多个子域

    我有一个域名 例如 www domain com 我开发了一个java web应用程序 比如jwa 现在我想使用子域为不同的客户端安装相同的应用程序 最好的解决方案是什么 像 client1 domain com 之类的东西指向 clien
  • 支持 Phonegap 最小平台版本

    我的公司正在进行一个大项目 我必须开发 IOS Android symbian Windows Phone 和黑莓 在听说和研究 Phonegap 后 我真的正在考虑使用它 但是我想知道是否有以及哪些是针对这些平台使用 Phonegap 进
  • CanCan 和不带模型的控制器

    我正在使用 CanCan 进行授权 我在 app config ability rb 中定义了模型操作用户规则 并且工作正常 我已经添加了这一行load and authorize resource到我的 application contr
  • 如何在 Spark Streaming EC2 集群应用程序中从 S3 读取输入

    我试图让我的 Spark Streaming 应用程序从 S3 目录读取他的输入 但在使用 Spark submit 脚本启动它后我不断收到此异常 Exception in thread main java lang IllegalArgu
  • 如何使用 GattServer 以编程方式清除蓝牙缓存

    我对 BLE 有点熟悉 并且我面临着继承代码的一些问题 所以该应用程序的工作方式如下 启用 BLE 后 应用程序会扫描设备 该应用程序显示找到的设备 用户选择要配对的设备 该应用程序与设备配对 我面临的问题是 配对几次 情况有所不同 后 手
  • 为什么Python没有访问修饰符?Python中有什么替代品?

    为什么Python没有像C Java中那样的访问修饰符 即公共 私有等 Python中封装和信息隐藏的替代方法是什么 From 维基百科 https en wikipedia org wiki Python syntax and seman
  • AllAuth安装

    我正在尝试安装和配置 Django AllAuth 但遇到了很多障碍 恐怕我只是错过了一些可能会澄清一些事情的基本概念 为了使基本的社交身份验证正常工作 需要在社交提供商 Facebook Twitter 等 内部完成哪些设置 如果是这种情
  • 如何清除chrome应用程序的错误列表?

    首先介绍 Chrome 应用程序 我正在尝试简化某种工作流程 我已启用复选框来收集错误 但似乎无法在应用程序执行之间清除它们 我以为关闭应用程序然后重新启动它就可以了 现在唯一有效的方法是删除应用程序 然后重新加载包 要清除 收集错误 中的
  • 如何覆盖 Razor 的“名称”HtmlAttribute

    Html RadioButtonFor Model gt Model Location Location Html LabelFor Model gt Model Location Location Html RadioButtonFor
  • 在keras中,如何拟合不同类型的多个输入数据

    我有 3000 张 320 320 形状的图像 它们的拍摄时间以及它们的标签 现在我想使用这两种类型的数据 图像和时间 来预测它们的标签 主要代码如下 num classes 10 image out GlobalMaxPooling2D
  • Hibernate: LazyInitializationException: 未能延迟初始化角色集合。无法初始化代理 - 无会话

    我有下一个错误 nested exception is org hibernate LazyInitializationException failed to lazily initialize a collection of role c
  • 如何根据消息头属性仅读取特定队列消息

    我在 activemq 队列中有一个消息列表 每条消息都有一个带有值的自定义标头属性 我应该如何才能仅访问那些自定义标头属性值 123 的消息 我正在使用类似下面的东西从队列中选择消息 如何选择具有 customHeaderProperty
  • 如何处理android中的睡眠模式进入?

    我在任何地方都没有找到它 我该如何处理在android中进入睡眠模式 当Android设备进入睡眠模式时我想做什么 这是可能的还是有办法处理它 只需使用 BroadCastReceivers 进行系统调用 唤醒 睡眠 即可实现此目的 And
  • 如何在MVVM模式中实现INotifyPropertyChanged和observableCollection?

    我在模型中有一个 ObservableCollection of Products 我希望 ViewModel 能够侦听 ObservableCollection of Products 中的任何更改 我不确定如何去实施它 我读过一些教程
  • 查找二叉树中指定节点的路径 (Python)

    我在计算二叉树中从根到指定节点的路径时遇到问题 这是专门针对此问题的 Python 解决方案 这是一个例子 给定下面的二叉树 如果我指定值为 4 的节点 我想返回 1 2 4 如果我指定值为5的节点 我想返回 1 2 5 1 2 3 4 5
  • C++ 对象实例化

    我是一名 C 程序员 正在尝试理解 C 许多教程使用片段演示对象实例化 例如 Dog sparky new Dog 这意味着稍后您将执行以下操作 delete sparky 这是有道理的 现在 在不需要动态内存分配的情况下 是否有任何理由使
  • Visual Studio中有类似Eclipse Perspective的东西吗?

    我想知道 Visual Studio 2008 或 2010 中是否有类似 Eclipse Perspectives 的东西 对于那些不熟悉 Eclipse 的人 这里有一个视角的定义 http www eclipse org articl
  • spplot() 上的国家/地区标签

    我想为 spplot 上的区域添加名称标签 Example load url http gadm org data rda FRA adm0 RData FR lt gadm FR lt spChFIDs FR paste FR rowna
  • spring-context.xml 的位置

    当我在 tomcat 上运行应用程序时 spring context xml 文件位于 WEB inf spring context xml 还行吧 但是运行 junit 测试时 我必须向它提供 spring test context xm