spring - Spring Boot 类路径:vs 相对路径
问题描述
在 Spring Boot 中,要访问资源,例如myresource.json
,我可以同时使用两者classpath:
或相对路径,例如./myresource.json
有什么区别?我应该使用哪一个?
解决方案
当您调用getResource()
特定的应用程序上下文,并且指定的位置路径没有特定的前缀(如./myresource.json
)时,您将获得适合该特定应用程序上下文的资源类型。
如果getResource()
对 ClassPathXmlApplicationContext 实例执行,它将返回一个ClassPathResource
. 如果对一个FileSystemXmlApplicationContext
实例执行相同的方法,您将返回一个FileSystemResource
. 对于 a WebApplicationContext
,你会得到 a ServletContextResource
,依此类推。因此,您可以以适合特定应用程序上下文的方式加载资源。
另一方面,您也可以通过指定特殊的: 前缀来强制ClassPathResource
使用,而不管应用程序上下文类型如何。classpath
推荐阅读
- conda - 获得 conda 环境的完整解决方案
- c++ - FindPackageHandleStandardArgs.cmake 处的 CMake 错误:137(消息):找不到 Boost(缺少:正则表达式)(找到合适的版本“1.72.0”,
- python - 将主机自定义为“0.0.0.0”时,Hello World Flask 应用程序停止工作
- java - 交换变量的用户整数输入,使其递增和递减
- mysql - Laravel 5.8 中的日期比较
- perforce - p4 sync -p 在 Perforce 中的某些条件下不起作用
- java - 如何将文本大小添加到 ListView?
- php - Laravel Vue 脚手架、Auth 和 Nova 安装顺序?
- javascript - 函数没有返回“中国银联”,不知道为什么
- typescript - JSX 元素类型“HTMLImageElement”不是 JSX 元素的构造函数