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

相关推荐
惊鸿一博30 分钟前
图标加载方式_zeroIcon_是否加前缀mdi
开发语言·前端·javascript
王八八。33 分钟前
linux后台java、postSQL部署命令
java·linux·运维
森G40 分钟前
TypeScript 基础类型
开发语言·typescript
月落归舟1 小时前
MyBatis缓存机制
java·缓存·mybatis
huipeng9261 小时前
企业级微服务开发实战(一):项目启动与工程化设计
java·开发语言·spring boot·spring cloud·微服务·云原生·架构
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ2 小时前
java实现excel导入、下载模板方法
java·开发语言·excel
眠りたいです2 小时前
现代C++:C++14中的新语言特性和库特性
c语言·开发语言·c++
段ヤシ.3 小时前
回顾Java知识点,面试题汇总Day12(持续更新)
java·mybatis
java1234_小锋3 小时前
Spring AI 2.0 开发Java Agent智能体 - MCP(模型上下文协议)
java·人工智能·spring·spring ai
seven97_top3 小时前
两小时入门Sentinel
java·sentinel