static静的変数@Value注入方式を使用します.

643 ワード

@Valueを使ってstaticタイプを注釈します.
@Component
public class MyConfig {
    @Value("${env}")
    private static String env;
 
    public static String getEnv() {
        return env;
    }
 
    public static void setEnv(String env) {
        MyConfig.env = env;
    }
}
このような方法を使うと、MyConfig.getEncv()がnullに戻ります.
 
正しい書き方
@Component
public class MyConfig {
 
    private static String env;
 
    public static String getEnv() {
        return env;
    }
 
    @Value("${env}")
    public void setEnv(String env) {
        MyConfig.env = env;
    }
}
きっと静的ではない方法setEncvの前に@Value注解を使います.