有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从应用程序访问值。属性并使用@Value Springboot存储在变量中

我想访问存储在应用程序中的变量值。Spring启动应用程序的属性。 使用以下代码,我能够访问变量中的值

应用程序。属性

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

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


共 (1) 个答案

  1. # 1 楼答案

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

    您可以尝试使用构造函数自动关联,并在构造函数中设置绝对文件夹路径的值

    范例

    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;
      }
    
    }