Java Spring启动-标识资源文件夹下的资源

Java Spring启动-标识资源文件夹下的资源,java,spring-boot,Java,Spring Boot,我有一个Spring Boot应用程序。我正在尝试读取我放在main/resources文件夹下的几个文件。我看到SpringBoot会自动读取resources文件夹下的application.properties。然而,它似乎并没有读取我放在resources文件夹下的其他xml/文本文件 Source xslt = new StreamSource(new File("removeNs.xslt")); 我是否应该为程序添加任何附加配置,以便在不必显式提供路径的情况下自动读取资源文件夹下

我有一个Spring Boot应用程序。我正在尝试读取我放在main/resources文件夹下的几个文件。我看到SpringBoot会自动读取resources文件夹下的application.properties。然而,它似乎并没有读取我放在resources文件夹下的其他xml/文本文件

Source xslt = new StreamSource(new File("removeNs.xslt"));

我是否应该为程序添加任何附加配置,以便在不必显式提供路径的情况下自动读取资源文件夹下的所有文件?

您需要指定要使用

@PropertySource
注释

可以使用指定多个特性源

@PropertySources({
    @PropertySource(),
    @PropertySource()
})

您需要指定要使用读取资源文件夹下的特定文件

@PropertySource
注释

可以使用指定多个特性源

@PropertySources({
    @PropertySource(),
    @PropertySource()
})
这应该行得通

感谢@Edwin提到一个更强大的解决方案:

File file = new File(Thread.currentThread().getContextClassLoader().getResource("removeNs.xslt").getFile());
这应该行得通

感谢@Edwin提到一个更强大的解决方案:

File file = new File(Thread.currentThread().getContextClassLoader().getResource("removeNs.xslt").getFile());

我建议使用
Thread.currentThread().getContextClassLoader().getResource()
,因为示例中的类加载技术有时在应用程序上下文中失败。@EdwinDalorzo这是一个很好的建议。补充答案。谢谢EdwinDalorzo和Terry Li!我建议使用
Thread.currentThread().getContextClassLoader().getResource()
,因为示例中的类加载技术有时在应用程序上下文中失败。@EdwinDalorzo这是一个很好的建议。补充答案。谢谢EdwinDalorzo和Terry Li!