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

相关推荐
l138494274515 分钟前
Java每日一题(2)
java·开发语言·游戏
苹果醋38 分钟前
SpringBoot快速入门
java·运维·spring boot·mysql·nginx
WANGWUSAN6619 分钟前
Python高频写法总结!
java·linux·开发语言·数据库·经验分享·python·编程
Yvemil719 分钟前
《开启微服务之旅:Spring Boot 从入门到实践》(一)
java
forNoWhat28 分钟前
java小知识点:比较器
java·开发语言
西洼工作室34 分钟前
【java 正则表达式 笔记】
java·笔记·正则表达式
40岁的系统架构师36 分钟前
1 JVM JDK JRE之间的区别以及使用字节码的好处
java·jvm·python
皓木.36 分钟前
(自用)配置文件优先级、SpringBoot原理、Maven私服
java·spring boot·后端
舞者H39 分钟前
启动异常:Caused by: java.lang.IllegalStateException: Failed to introspect Class
java
代码中の快捷键41 分钟前
java开发面试有2年经验
java·开发语言·面试