Как использовать поле из application.properties в перечислении? - PullRequest
1 голос
/ 20 мая 2019

Я хочу использовать поле, записанное в application.properties spring.profiles.active=dev, чтобы оно давало мне значение "dev", и я мог работать с ним.

Я попытался поместить его в @Value(), но это всегда дает ноль.Я попытался объявить поле как статическое, но вы не можете использовать его в перечислении.Оператор if тоже не справляется.


public enum BucketName {
    OSRM_TABLE("sg-roe/" + BucketName.getProfile() + "/vrps/osrm-backend-tables"),
    PROBLEM("sg-roe/" + BucketName.getProfile() + "/vrps/problems"),
    SOLUTION("sg-roe/" + BucketName.getProfile() + "/vrps/raw_solutions"),
    IMAGE("sg-roe/" + BucketName.getProfile() + "/vrps/solutions/images"),
    SUMMARY("sg-roe/" + BucketName.getProfile() + "/vrps/solutions/summaries");

    private String bucketname;

    @Value("${spring.profiles.active}")
    private static String profile;

    BucketName(String bucketname) {
        this.bucketname = bucketname;

    }

    public static String getProfile() {
        return profile;
    }

    public String getBucketname() {
        return bucketname;
    }
}```

The main issue, as mentioned above, is the null value that it returns.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...