我想使用Spring Boot转换以下代码段。
String message = propertiesService.getProperty("app.directory.errorcode." + errorNumber);
其中propertiesService
用于读取application.properties
。
如何在Spring Boot中阅读此内容,因为我之前已经声明了属性 使用静态关键字声明类变量的地方?
@Value("${app.directory.errorcode.fatal}")
private static String fatalCode;
我需要生成属性名称并动态读取它。
答案 0 :(得分:0)
您可以使用课程中的课程 Environment
org.springframework.core.env
。
示例:
@SpringBootApplication
public class Example {
// autowire the Environment
@Autowired
private Environment environment;
private static String fatalCode;
public static someMethod(String errorNumber) {
fatalCode = environment.getProperty("app.directory.errorcode." + errorNumber);
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
希望对您有所帮助。
谢谢:)
答案 1 :(得分:0)
还有另一种方法可以完成类似的事情
在 application.properties
中app.fatcodes={"fatcodes1":"1", "fatcodes2":"2", "fatcodes3":"3"}
Java代码
@Value("#{${app.fatcodes}}")
private Map<String, String> fatCodes;