Spring中如何为静态变量注入值

在 Spring 中,如果使用 @Value 注解注入值,不能将其应用于 static 字段。Spring 只能为实例变量注入值,不能直接对静态变量进行注入。

使用 @PostConstruct 初始化

如果确实需要在静态上下文中使用该值,可以使用 @PostConstruct 方法来设置静态变量:

java 复制代码
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class UserConfig {

    @Value("${upload.user}")
    private String user;

    private static String staticUser;

    @PostConstruct
    public void init() {
        staticUser = user;
    }

    public static String getStaticUser() {
        return staticUser;
    }
}

现在可以通过 UserConfig.getStaticUser() 来访问 upload.user 的值。

相关推荐
武昌库里写JAVA28 分钟前
机器学习笔记 - week6 -(十一、机器学习系统的设计)
java·开发语言·算法·spring·log4j
追风小老头折腾程序39 分钟前
SpringCloud-pom创建Eureka
后端·spring·spring cloud
颜淡慕潇44 分钟前
【数据库】Java 中 MongoDB 使用指南:步骤与方法介绍
java·数据库·sql·mongodb
阑梦清川1 小时前
Java数组使用&练习(完)
java·开发语言
2401_857439691 小时前
Spring Boot在甘肃非遗文化网站开发中的应用
java·spring boot·后端
蓝瑟柳絮1 小时前
学习之什么是生成器
android·java·学习
Katharine_Yuan2 小时前
JVM内存模型
java·jvm·算法
技术无疆2 小时前
【Python】The Algorithms:开源算法的宝库
java·c语言·开发语言·c++·python·算法·开源
Teln_小凯2 小时前
nodejs - puppeteer 无头浏览器截图 JAVA后端调用
java·前端·python