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

相关推荐
松涛和鸣7 小时前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法
j***78887 小时前
clickhouse-介绍、安装、数据类型、sql
java
2***B4497 小时前
Rust在系统编程中的内存安全
开发语言·后端·rust
U***e637 小时前
Rust错误处理最佳实践
开发语言·后端·rust
习习.y7 小时前
python笔记梳理以及一些题目整理
开发语言·笔记·python
q***47187 小时前
Spring中的IOC详解
java·后端·spring
qq_386218998 小时前
Gemini生成的自动搜索和下载论文的python脚本
开发语言·python
vx_vxbs668 小时前
【SSM电影网站】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·python·mysql·小程序·php·idea
SunnyDays10118 小时前
如何使用 Java 删除 Word 文档中的水印
java·删除word文档水印
o***Z4489 小时前
JavaScript在Node.js中的内存管理
开发语言·javascript·node.js