29
Июн
2017

Задать значение поля enum не через конструктор, а через property file

Как с помощью Spring можно Задать значение поля enum не через конструктор, а через property file?

Чтобы было не:

public enum NetworkName {
    CONTENT_AD("contentad", "Content.Ad");

    private String namePattern;
    private String name;

    NetworkName(String namePattern, String name) {
        this.namePattern = namePattern;
        this.name = name;
   }
}

а что-то наподобии:

public enum NetworkName {
    CONTENT_AD("contentad");

    @Autowired
    private Environment env;
    private String namePattern;
    private String name;

    NetworkName(String namePattern) {
        this.namePattern = namePattern;
        this.name = env.getProperty(String.format("network.name.%s", this.name()));;
   }
}

Источник: https://ru.stackoverflow.com/questions/685239/%D0%97%D0%B0%D0%B4%D0%B0%D1%82%D1%8C-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-enum-%D0%BD%D0%B5-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80-%D0%B0-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-property-file

Share

Тебе может это понравится...