V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
shanghai1943
V2EX  ›  问与答

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

  •  
  •   shanghai1943 · 2022-03-04 19:05:56 +08:00 · 677 次点击
    这是一个创建于 786 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现用的是 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 文件。

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

    谢谢各位大哥。

    2 条回复    2022-03-07 09:53:52 +08:00
    chenjian026
        1
    chenjian026  
       2022-03-04 20:21:22 +08:00
    了解下 classpath*
    shanghai1943
        2
    shanghai1943  
    OP
       2022-03-07 09:53:52 +08:00
    @chenjian026 #1 现在的情况是,某些二方包里已经使用了 new ClassPathResource 这种写法。如果用 classpath*的话,似乎是会把这些也重复加载进来。有没有只加载当前二方包的写法?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1216 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 18:06 · PVG 02:06 · LAX 11:06 · JFK 14:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.