Рубрики
Без рубрики

Пружинный ввод значения в статические переменные

– Пружинный ввод значения в статические переменные

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

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

@Component
public class GlobalValue {

	@Value("${mongodb.db}")
    public static String 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"

Оригинал: “https://mkyong.com/spring/spring-inject-a-value-into-static-variables/”