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

相关推荐
赵丙双11 小时前
spring boot 排除自动配置类的方式和原理
java·spring boot·自动配置
8Qi811 小时前
LeetCode热题100--45.跳跃游戏 II
java·算法·leetcode·贪心算法·编程
bilI LESS11 小时前
Spring Boot接收参数的19种方式
java·spring boot·后端
九皇叔叔12 小时前
004-SpringSecurity-Demo 拆分环境
java·springboot3·springsecurity
爱滑雪的码农12 小时前
Java八:Character 类与string类
java·开发语言
APIshop12 小时前
京东关键词搜索接口完全指南
java·开发语言·数据库
东离与糖宝12 小时前
HashMap从入门到源码:Java7/8/21区别+面试陷阱+高频追问合集
java·人工智能·面试
wang090713 小时前
Linux性能优化之CPU利用率
java·linux·运维
2601_9498177213 小时前
Spring+SpringMVC项目中的容器初始化过程
java·后端·spring
VelinX13 小时前
【个人学习||spring】spring ai
人工智能·学习·spring