ContextConfiguration指定的值除了classpath之外还有其他的吗?

martinzh 发布于 2021/01/29 09:52
阅读 117
收藏 0

在测试或者配置的时候我们使用ContextConfiguration来指定配置文件, 我们常见的是classpath,有没有其他的取值了?

如果我放在文件目录没有在classpath中该如何获取配置呢?

加载中
1
司马长风kill
司马长风kill

你是想基于指定目录访问?这个应该是不可以的  @ContextConfiguration  基于ClassPathResource读取配置文件 

司马长风kill
司马长风kill
@ContextConfiguration("file:D:\\gateway-oauth2-pro\\bean.xml") 这个写法是可以的
1
醉卧草庐听风雨

先说结论是有其他取值的,除了常见的classpath外还有file和http

这里简单的说下Sping资源加载机制,Spring定义了接口Resource用来获取文件, 也就是说截图中的aaa.xml在处理过程实际会被封装成Resource。而Resource的构建是基于ResourceLoader接口ResourceLoader可以通过指定前缀来强制构建特定类型的Resource。Spring官方列出的前缀表中有classpath、file和http,也就说除了classpath外还可以放在本机目录,甚至放在http服务器上。更详细的内容建议阅读下Spring Core里Resources章节

司马长风kill
司马长风kill
基于编码可以多样化的,UrlResource,ClassPathResource,FileSystemResource,ServletContextResource,InputStreamResource,ByteArrayResourc
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部