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

相关推荐
张np1 分钟前
java基础-ArrayList
java·开发语言
Swizard1 分钟前
别让 AI 假装在工作:Android "Vibe Coding" 的生存指南
android·java·vibe coding
BBB努力学习程序设计9 分钟前
Java集合框架:管理数据的"超级工具箱"
java
库库林_沙琪马25 分钟前
1、Hi~ SpringBoot
java·spring boot·后端
不会编程的小寒25 分钟前
C / C++ 面试题
java·开发语言
BBB努力学习程序设计28 分钟前
Java输入输出:让程序能与世界“对话”
java
电饭叔30 分钟前
《python语言程序设计》2018版--第8章14题利用字符串输入作为一个信用卡号之一(Luhn算法解释)
android·java·python
阿宁又菜又爱玩31 分钟前
Web后端开发入门
java·spring boot·后端·web
Z3r4y33 分钟前
【代码审计】JeecgBoot-3.5.0 四处安全问题分析
java·web安全·代码审计·jeecg-boot
wangmengxxw34 分钟前
微服务-服务配置
java·运维·微服务·云计算·服务配置