请教 spring 加载二方包指定目录下的文件

2022-03-04 19:05:56 +08:00
 shanghai1943

现用的是 springboot2.0.4 版本,想加载二方包里的 mybatis 资源,目录为 src/main/resources/mappers ,在 mappers 目录有多个 mybatis mapper 文件。

试过在二方包里用 new PathMatchingResourcePatternResolver().getResources("classpath:mappers/*.xml")的加载方式,拿到的是应用里第一个包含有 mappers 的 jar 包下的资源,而不是当前二方包里的。

临时的解决办法是用 new Resource[] { new ClassPathResource("/mappers/a.xml") } 的加载方式,缺点是得一个个列出所需的 mapper 文件。

不知道有没有更好的办法,想加载整个目录,而不用一个个列举。

谢谢各位大哥。

742 次点击
所在节点    问与答
2 条回复
chenjian026
2022-03-04 20:21:22 +08:00
了解下 classpath*
shanghai1943
2022-03-07 09:53:52 +08:00
@chenjian026 #1 现在的情况是,某些二方包里已经使用了 new ClassPathResource 这种写法。如果用 classpath*的话,似乎是会把这些也重复加载进来。有没有只加载当前二方包的写法?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/838039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX