从 app.properties 访问值并使用 @Value Springboot 存储在变量中

access the value from app.properties and store in variable using @Value Springboot

我想访问存储在 Spring Boot App 的 application.properties 中的变量值。 使用以下代码,我可以访问变量

中的值

application.properties

path.animals=top/cat/white

代码

import org.springframework.beans.factory.annotation.Value;

    @Value("${path.animals}")
    private String FOLDER_PATH;
    private String absolute_folder_path = "/home/johnDoe/Documents/" + FOLDER_PATH;

当我在屏幕上打印这两个变量时,我得到了

FOLDER_PATH : top/cat/white

absolute_folder_path :/home/johnDoe/Documents/null

我需要 absolute_folder_path 应该是 /home/johnDoe/Documents/top/cat/white

注意:两个变量都在方法外声明。这些是全局变量

发生此问题是因为 absolute_folder_path 尚未获取文件夹路径的值。这是因为 Spring 注入这些值的方式。你想在哪里打印它们?

您可以尝试使用构造函数自动装配并在构造函数中设置 absolute_folder_path 的值。

示例

public class Test{

    private String FOLDER_PATH;
    private String absolute_folder_path;

@Autowired
  public Test(@Value("${path.animals}") String folderPath){
    FOLDER_PATH= folderPath;
    absolute_folder_path = "/home/johnDoe/Documents/" + folderPath;
  }

}