首页 > 解决方案 > 我们可以在java中保持变量为final吗

问题描述

我正在从 spring 属性文件中读取文件路径,如下所示,并将其映射到 java 类

#file path
file.path =/root/ms_data/file/

它被映射到这样的java类

@Value("${file.path}")
    private String fileDataPath;

请告知我可以将其保留为最终版本吗?我的意思是如下所示,其中我将 fileDataPath 保留为最终版本

@Value("${file.path}")
private final String fileDataPath;

标签: javaspring

解决方案


您可以为此使用构造函数注入:

public class YourClass {
    private final String fileDataPath;

    public YourClass(@Value("${file.path}") String fileDataPath) {
        this.fileDataPath = fileDataPath;
    }
}

有关构造函数注入的更多信息,我建议阅读以下问题,它们比我以往任何时候都更详细:


推荐阅读