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 注解被用于非静态方法上。在这些方法中,静态变量会被赋予配置文件中的值。

相关推荐
小智学长 | 嵌入式19 分钟前
SOC-ESP32S3部分:22-分区表
开发语言·单片机·esp32
gou1234123419 分钟前
【Golang进阶】第八章:并发编程基础——从Goroutine调度到Channel通信实战
开发语言·后端·golang
秋难降21 分钟前
贪心算法:看似精明的 “短视选手”,用好了也能逆袭!💥
java·算法
阿蒙Amon25 分钟前
C#数字金额转中文大写金额:代码解析
java·mysql·c#
失乐园28 分钟前
电商/物流/IoT三大场景:用MongoDB设计高扩展数据架构的最佳实践
java·后端·架构
五行星辰30 分钟前
Spring AI 实战:用 Java 搞 AI,从此告别调参侠
java·后端
一只自律的鸡32 分钟前
STL之vector
开发语言·c++·算法
知其然亦知其所以然33 分钟前
不懂 Python?没关系!Easy RAG 让 Java 开发者也能玩转大模型
java·后端·llm
此刻我在家里喂猪呢34 分钟前
qt之开发大恒usb3.0相机三
开发语言·qt
五行星辰35 分钟前
Spring AI 实现 MCP:让 AI 自动管理你的代码质量
java·后端