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

相关推荐
rainbow68891 分钟前
Python学生管理系统:JSON持久化实战
java·前端·python
有味道的男人14 分钟前
1688获得商品类目调取商品榜单
java·前端·spring
独自破碎E18 分钟前
【中心扩展法】LCR_020_回文子串
java·开发语言
不光头强19 分钟前
spring boot项目欢迎页设置方式
java·spring boot·后端
4311媒体网27 分钟前
自动收藏功能的实现方法
java·开发语言
Yana.nice31 分钟前
证书格式的适用场景与核心对比
java·linux
怪兽毕设33 分钟前
基于SpringBoot的选课调查系统
java·vue.js·spring boot·后端·node.js·选课调查系统
DFT计算杂谈35 分钟前
VASP+PHONOPY+pypolymlpj计算不同温度下声子谱,附批处理脚本
java·前端·数据库·人工智能·python
树码小子35 分钟前
SpringMCV(9)响应:返回静态页面 & 修改响应数据
spring·mvc
cyforkk37 分钟前
13、Java 基础硬核复习:泛型(类型安全)的核心逻辑与面试考点
java·开发语言·面试