如何在 application.properties 中设置文件夹位置?

Posted

技术标签:

【中文标题】如何在 application.properties 中设置文件夹位置?【英文标题】:How to set a Folder location in application.properties? 【发布时间】:2017-04-22 14:39:17 【问题描述】:

我有一个创建 XML 文件的 Spring 项目。 如何将文件夹位置设置为应在 application.properties 中写入文件的位置?

在我的代码中:

StreamResult result2 = new StreamResult(new File("D:\\HealthCheck\\status.xml"));

这里我在代码中传递文件位置。

但是如何在 application.properties 文件中进行设置,以便我们可以在 application.properties 文件中更改目标并通过命令行传递该文件。

如何做到这一点?请帮忙。

【问题讨论】:

【参考方案1】:

您在application.properties 中设置的所有属性都可以通过Spring 的Environment 类获得。您可以将Environment 对象注入您的类并读取如下配置参数:

application.properties:

myApp.folder=D:\\HealthCheck

MyClass.java:

@Component
public class MyClass

    @Autowired
    Environment environment;

    public void doStuff()
       String folder = environment.getProperty("myApp.folder");
       StreamResult result2 = new StreamResult(new File(folder + "\\status.xml"));
    


【讨论】:

环境包是什么? 谢谢@Tom 还有一个愚蠢的问题。当我使用环境时,它显示 org.springframework.core.env.Environment Environemnt env;如何导入该包?添加依赖项? Environment 类位于 spring-core JAR 中,您应该在 Spring Boot 项目中自动将其作为依赖项

以上是关于如何在 application.properties 中设置文件夹位置?的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot 的 properties 属性值配置 application.properties 与 自定义properties

Jar不包含我的课程文件gitlab-ci

我可以将内部 Spring Boot 变量传递给 gradlew 吗?

logback-结合spring profile使用

日志记录:在 Spring Boot 中使用 log4j2.properties 文件实现 Log4j2

如何在图像中找到明亮区域(以及如何在图像中找到阴影区域)