Spring: Как ввести значение в статическое поле?

С этим классом

@Component
public class Sample {

    @Value("${my.name}")
    public static String name;


}

Если я попробую Sample.name , он всегда будет нулевым. Итак, я попробовал это.

public class Sample {

    public static String name;

    @PostConstruct
    public void init(){
        name = privateName;
    }

    @Value("${my.name}")
    private String privateName;

    public String getPrivateName() {
        return privateName;
    }

    public void setPrivateName(String privateName) {
        this.privateName = privateName;
    }  

}

Этот код работает. Sample.name задано правильно. Это хороший способ или нет? Если нет, есть ли более хороший способ? И как это сделать?

72
задан Whiteship 25 July 2018 в 23:30
поделиться