如何在spring引导应用程序中读取静态字段的属性?
我想使用spring boot转换以下代码段如何在spring引导应用程序中读取静态字段的属性?,spring,spring-boot,Spring,Spring Boot,我想使用spring boot转换以下代码段 String message = propertiesService.getProperty("app.directory.errorcode." + errorNumber); 其中propertiesService用于读取应用程序.properties 我如何在Spring boot中阅读此内容,因为我之前声明了这些属性 在声明类变量的位置使用static关键字? @Value("${app.directory.errorcode.fatal}
String message = propertiesService.getProperty("app.directory.errorcode." + errorNumber);
其中propertiesService
用于读取应用程序.properties
我如何在Spring boot中阅读此内容,因为我之前声明了这些属性
在声明类变量的位置使用static关键字?
@Value("${app.directory.errorcode.fatal}")
private static String fatalCode;
我需要生成属性名并动态读取它。您可以使用包中的类
环境
实现这一点
例如:
@SpringBootApplication
public class Example {
// autowire the Environment
@Autowired
private Environment environment;
private static String fatalCode;
public void someMethod(String errorNumber) {
fatalCode = environment.getProperty("app.directory.errorcode." + errorNumber);
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
我希望这能对你有所帮助
谢谢:)您可以使用包中的类
环境
实现这一点
例如:
@SpringBootApplication
public class Example {
// autowire the Environment
@Autowired
private Environment environment;
private static String fatalCode;
public void someMethod(String errorNumber) {
fatalCode = environment.getProperty("app.directory.errorcode." + errorNumber);
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
我希望这能对你有所帮助
谢谢:)还有另一种方法可以做同样的事情 在应用程序属性中
app.fatcodes={"fatcodes1":"1", "fatcodes2":"2", "fatcodes3":"3"}
Java代码
@Value("#{${app.fatcodes}}")
private Map<String, String> fatCodes;
@Value(“#{${app.fatcodes}”)
私有地图编码;
还有另一种方法可以做类似的事情
在应用程序属性中
app.fatcodes={"fatcodes1":"1", "fatcodes2":"2", "fatcodes3":"3"}
Java代码
@Value("#{${app.fatcodes}}")
private Map<String, String> fatCodes;
@Value(“#{${app.fatcodes}”)
私有地图编码;
谢谢你,安妮什,我是按照你的建议用环境财产做的。但我认为这个解决方案是读取URL和其他环境变量的标准,我可以使用它吗?或者使用它来读取特定于应用程序的内容是最佳实践吗?@SadiaH,这取决于具体情况。你可以用它。没有害处。当您希望读取基于不同属性的值时,将使用Environment类。但我认为这是动态属性阅读的最佳解决方案。谢谢Anish,我能够按照您的建议使用环境属性。但我认为这个解决方案是读取URL和其他环境变量的标准,我可以使用它吗?或者使用它来读取特定于应用程序的内容是最佳实践吗?@SadiaH,这取决于具体情况。你可以用它。没有害处。当您希望读取基于不同属性的值时,将使用Environment类。但在我看来,这是动态属性读取的最佳解决方案。