从 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;
}
}
我想访问存储在 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;
}
}