Spring - вставить значение в статические переменные

Spring - вставить значение в статические переменные

Spring не позволяет вводить значения в статические переменные, например:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class GlobalValue {

    @Value("${mongodb.db}")
    public static String DATABASE;


}

Если вы распечатаетеGlobalValue.DATABASE, отобразитсяnull.

    GlobalValue.DATABASE = null

Решение

Чтобы исправить это, создайте «без статического установщика», чтобы назначить введенное значение для статической переменной. Например :

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class GlobalValue {

    public static String DATABASE;

    @Value("${mongodb.db}")
    public void setDatabase(String db) {
        DATABASE = db;
    }

}

Выход

    GlobalValue.DATABASE = "mongodb database name"