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 的值。

相关推荐
观望过往6 分钟前
【Java SE 运算符】全面解析与实践指南
java
没有bug.的程序员9 分钟前
分布式架构初识:为什么需要分布式
java·分布式·架构·php
郑州光合科技余经理24 分钟前
微服务架构:基于Spring Cloud ,构建同城生活服务平台
java·spring cloud·微服务·小程序·架构·uni-app
ajassi200030 分钟前
开源 java android app 开发(十七)封库--混淆源码
android·java·开源
海梨花33 分钟前
关于Java的几个小问题
java·面试
vx_dmxq2111 小时前
免费领源码-Spring boot的物流管理系统 |可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·大数据·python·jupyter·课程设计
zero13_小葵司1 小时前
在不同开发语言与场景下设计模式的使用
java·开发语言·javascript·设计模式·策略模式
梁萌1 小时前
java实现移动云mas短信发送
java·短信·移动·mas
PH = 71 小时前
Spring AI整合聊天模型DeepSeek
java·spring boot·后端
珹洺2 小时前
Java-Spring入门指南(十三)SpringMVC基本概念与核心流程详解
java·开发语言·spring