我有一个环境变量RESOURCES_FOLDER。我想在Springboot应用程序中的类中阅读的内容
@Value("${RESOURCES_FOLDER}")
private static String resourcesFolder;
当我尝试打印该值时,它给出null而不是在我的环境变量中打印实际路径。有人可以帮我吗??
答案 0 :(得分:2)
Spring不允许将值插入静态字段。您可以选择一些方法来规避此限制:
PyType_GenericNew
将被类的所有实例共享。不过,您应该可以通过以下方式实现它: GoogleGeocoder geocoder = new GoogleGeocoder();
IEnumerable<GoogleAddress> addresses = await geocoder.GeocodeAsync("1600 pennsylvania ave washington dc");
var country = addresses.Where(a => !a.IsPartialMatch).Select(a => a[GoogleAddressType.Country]).First();
Console.WriteLine("Country: " + country.LongName + ", " + country.ShortName);
//Country: United States, U
@ConfigurationProperties
类,将字段声明为私有非静态类,为其创建getter / setter方法,然后在需要变量的任何地方插入该类。这是一种非常可组合且可测试的方法,我建议这样做,尤其是在您具有许多相关属性的情况下。答案 1 :(得分:0)
通过以下方式在application.properties文件中添加环境变量名称:
RESOURCE_FOLDER_PATH =${RESOURCES_FOLDER}
RESOURCES_FOLDER
是您的环境变量的名称。
然后使用@value
批注访问java类中的环境变量。
public class AccessEnvironmentVariable{
@Value("${RESOURCE_FOLDER_PATH}")
private String RESOURCE_FOLDER;
private void displayEnvironmentVariable(){
System.out.println("Your environment variable Resource Folder: "+RESOURCE_FOLDER);
}
}