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

相关推荐
吾疾唯君医1 分钟前
Java SpringBoot集成积木报表实操记录
java·spring boot·spring·导出excel·积木报表·数据文件下载
Byron Loong26 分钟前
【c++】为什么有了dll和.h,还需要包含lib
java·开发语言·c++
hexu_blog1 小时前
vue+java实现图片批量压缩
java·前端·vue.js
头歌实践平台1 小时前
Hadoop开发环境搭建
java·大数据·hadoop
Seven971 小时前
一致性Hash算法:如何实现分布式系统中的高效数据分片?
java
摇滚侠1 小时前
IDEA 生成 try catch 快捷键
java·ide·intellij-idea
阿旭超级学得完2 小时前
C++11包装器(function和bind)
java·开发语言·c++·算法·哈希算法·散列表
掉鱼的猫3 小时前
Spring AI 2.0 GA 倒计时:先别急,来看看 Java AI 框架的另一条路
java·openai·agent
Refrain_zc3 小时前
Android 应用内 APK 安装全方案:从静默安装到普通安装的详解
java