Spring Boot classpath:vs相对路径

时间:2018-11-30 03:28:18

标签: spring spring-mvc spring-boot

在Spring Boot中,要访问资源myresource.json,我可以同时使用classpath:或相对路径,例如./myresource.json

有什么区别?我应该使用哪一个?

1 个答案:

答案 0 :(得分:2)

在特定应用程序上下文中调用getResource()时,如果指定的位置路径没有./myresource.json这样的特定前缀,您将获得适合该特定应用程序的资源类型上下文。

如果对ClassPathXmlApplicationContext实例执行了getResource(),它将返回一个ClassPathResource。如果对一个FileSystemXmlApplicationContext实例执行了相同的方法,您将得到一个{{1} }。对于FileSystemResource,您将获得WebApplicationContext,依此类推。 这样,您可以按照适合特定应用程序上下文的方式加载资源。

另一方面,您也可以通过指定特殊的ServletContextResource:前缀来强制使用ClassPathResource,而不管应用程序上下文类型如何。

See this doc