java中使用@Value获取配置文件中的值,并变为静态的属性

在 Spring 中,@Value 注解通常用于将配置文件中的值注入到非静态的实例变量中。因为 @Value 是通过 Spring IoC 容器来进行属性赋值的,而静态变量与类本身直接关联,不属于具体实例。

如果想要将配置文件的值注入到静态变量中

以下是一个示例:

java 复制代码
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

@Component
public class ConfigReader {

    private static String dbUrl;
    private static String dbUser;
    private static String dbPassword;

    @Value("${db.url}")
    private void setDbUrl(String url) {
        ConfigReader.dbUrl = url;
    }

    @Value("${db.user}")
    private void setDbUser(String user) {
        ConfigReader.dbUser = user;
    }

    @Value("${db.password}")
    private void setDbPassword(String password) {
        ConfigReader.dbPassword = password;
    }

}

在上述代码中,@Value 注解被用于非静态方法上。在这些方法中,静态变量会被赋予配置文件中的值。

相关推荐
郝学胜-神的一滴几秒前
系统设计与面向对象设计:两大设计思想的深度剖析
java·前端·c++·ue5·软件工程
蓝天智能2 分钟前
QT实战:Qt6 字符编码避坑指南
开发语言·qt
xier_ran3 分钟前
【第一周】关键词解释:倒数排名融合(Reciprocal Rank Fusion, RRF)算法
开发语言·python·算法
HelloWorld__来都来了4 分钟前
如何用python爬取上市公司信息
开发语言·python
myloveasuka6 分钟前
[Java]子类到底能继承父类中的哪些东西?继承中成员变量/方法访问特点---就近原则
java·开发语言
umeelove358 分钟前
vscode配置django环境并创建django项目(全图文操作)
java
x-cmd10 分钟前
[260307] x-cmd v0.8.6:新增 gpt-5.4 模型支持,sudo/os/hostname/cpu 等模块文档更新
java·数据库·gpt·sudo·x-cmd·googel
PPPPickup17 分钟前
深信服公司---java实习生后端一二面询问
java·后端·ai
架构师沉默17 分钟前
为什么很多大厂 API 不再使用 PUT 和 DELETE?
java·后端·架构
微学AI19 分钟前
内网穿透的应用-Plex 打造随身私人影院,用cpolar告别地狱限制。
开发语言·php