我们当前正在使用Spring Boot版本1.x
我们的error.properties文件(位于类路径中)具有错误消息(错误键->错误代码)对。
我们利用PropertiesConfigurationFactory将这些错误密钥和错误代码对获取到一个POJO中,该POJO具有一个Map
因此非常方便地在我们的应用程序中使用,以获取给定错误密钥的错误代码。
Spring Boot 2.x中的等效项是什么?。
答案 0 :(得分:1)
假设您拥有error.properties
文件,其中包含以下内容:
errors.error1=101
errors.error2=102
errors.error3=103
一个简单的spring boot应用程序,演示了这些属性的注入:
package snmaddula.remittance;
import java.util.Map;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;
@SpringBootApplication
@ConfigurationProperties
@PropertySource("classpath:error.properties")
public class DemoApplication {
private Map<String, Integer> errors;
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
public CommandLineRunner cli() {
return (args) -> {
System.out.println(errors); // you can print and see the error properties injected to this map.
};
}
public void setErrors(Map<String, Integer> errors) {
this.errors = errors;
}
}
使用@PropertySource
和@ConfigurationProperties
可以启用属性注入,只要我们为属性设置了setter
方法即可。
运行该程序时,您可以看到属性添加到控制台上,而我添加了CommandLineRunner cli() {..}
来显示其工作情况。
可以在GitHub上找到工作示例。