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"