错误消息作为键值对-来自类路径中的属性文件-Spring Boot 2.0

时间:2019-05-08 00:47:22

标签: spring spring-boot

我们当前正在使用Spring Boot版本1.x

我们的error.properties文件(位于类路径中)具有错误消息(错误键->错误代码)对。

我们利用PropertiesConfigurationFactory将这些错误密钥和错误代码对获取到一个POJO中,该POJO具有一个Map

因此非常方便地在我们的应用程序中使用,以获取给定错误密钥的错误代码。

Spring Boot 2.x中的等效项是什么?。

1 个答案:

答案 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上找到工作示例。