SpringBoot读取配置文件中的变量值

SpringBoot读取配置文件中的变量值

需求分析

​ 在一些项目中需要修改信息以适应不同项目环境(如上传的文件保存路径在开发环境与正式环境不同、使用代理时个人账户信息),而将代码与配置信息进行解耦是有必要的,这些信息可以置于配置文件中,不用每次修改时都去对应代码处修改。

解决方案

Spring Boot项目中要在其他类中读取application.yaml配置文件信息,可以使用@Value注解或Environment对象。下面是两种方法的示例:

方法一:使用@Value注解

  1. 在配置文件中,假设有一个属性example.message
example:
  message: "Hello, World!"
  1. 在类中,使用@Value注解来注入配置属性的值:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class MyConfigClass {
    @Value("${example.message}")
    private String message;
    
    public String getMessage() {
        return message;
    }
}

在上面的例子中,@Value("${example.message}")告诉Spring从配置文件中注入example.message属性的值到message字段中。

方法二:使用Environment对象

  1. 在配置类中添加一个Environment类型的字段,并使用@Autowired注解注入它:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

@Component
public class MyConfigClass {
    private final Environment env;
    
    @Autowired
    public MyConfigClass(Environment env) {
        this.env = env;
    }
    
    public String getMessage() {
        return env.getProperty("example.message");
    }
}

​ 在上面的例子中,我们通过env.getProperty("example.message")方法来获取配置属性的值。使用Environment对象可以更加灵活地获取配置属性,并且支持更多的配置源。

​ 无论你选择哪种方法,都可以在其他类中读取到配置文件中的信息。记得确保你的类是一个Spring管理的bean(使用@Component@Service@Repository等注解),这样Spring才会自动注入配置属性的值。
@Component@Service@Repository等注解),这样Spring才会自动注入配置属性的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我还没秃头~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值