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

相关推荐
YJlio几秒前
杨利杰YJlio|博客导航目录(专栏总览 + 推荐阅读路线)
开发语言·python·pdf
csbysj20202 分钟前
API 类别 - 特效
开发语言
wangchen_02 分钟前
C++<fstream> 深度解析:文件 I/O 全指南
开发语言·前端·c++
Coder_Boy_3 分钟前
基于SpringAI的智能平台基座开发-(五)
java·人工智能·spring boot·langchain·springai
步步为营DotNet5 分钟前
深度探索.NET 中 IAsyncEnumerable:异步迭代的底层奥秘与高效实践
java·jvm·.net
运维行者_7 分钟前
网络流量分析入门:从流量监控与 netflow 看懂核心作用
运维·开发语言·网络·云原生·容器·kubernetes·php
x66ccff7 分钟前
Claude Code 安装方法
android·java·数据库
毕设源码-赖学姐10 分钟前
【开题答辩全过程】以 高校社团管理系统设计与实现为例,包含答辩的问题和答案
java·eclipse
PacosonSWJTU11 分钟前
Guava缓存使用入门
java·缓存·guava
豆豆13 分钟前
支持企业/政府/高校网站站群的cms内容管理系统有哪些
java·开发语言·cms·低代码平台·工单系统·sso单点登录·站群cms