SpringBoot静态工具类注入配置文件到静态变量

本文介绍了如何在SpringBoot中将配置文件的变量动态注入到静态工具类中,包括静态变量的修改过程、静态初始化块的更新以及使用时的注意事项,确保静态变量的正确初始化。
摘要由CSDN通过智能技术生成

SpringBoot静态工具类注入配置文件变量

静态变量

修改前

private static final String baseIp = "http://192.168.0.30:8080";

修改后–动态注入
	private static String baseIp;

	//设置setter方法
	@Value("${service.ip}")
    public void setBaseIp(String baseIp) {
   
        OARequestUtils
Spring Boot项目中,将配置文件(通常是application.properties或application.yml)中的属性读取到静态变量中通常是在启动类(如@SpringBootApplication或@RestController)中完成的。你可以使用`@Value`注解或者`Properties`类配合`Environment`接口来实现这一目标。 1. 使用`@Value`注解: ```java @Component public class AppConfig { @Value("${property.name}") private static String propertyName; // 可以通过getter方法访问静态变量 public static String getPropertyName() { return propertyName; } } ``` 在这个例子中,`${property.name}`是配置文件中的键,它的值会被自动注入到`propertyName`中。 2. 使用`Properties`和`Environment`: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.Environment; @Component public class AppConfig { private static Properties properties; @Autowired public AppConfig(ApplicationContext context, Environment env) { this.properties = new Properties(); env.getPropertySources().forEach(ps -> ps.forEach((key, value) -> properties.setProperty(key, value))); } public static String getProperty(String key) { return properties.getProperty(key); } } ``` 这里,我们先注入`ApplicationContext`和`Environment`,然后遍历环境中的所有属性源,将它们添加到`Properties`对象中。 无论哪种方式,建议将配置管理封装成单例或工具类,以便在整个应用中方便地获取配置信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值