非spring管理的容器获取application.yml中的配置

背景

在一个旧项目里,有一个类不归spring容器管理的,引用方式就是到处new,现在需要给这个类加一个可配置的属性。配置是在apollo上的,没办法根据文件名读取文件。

分析

如果能在运行时获得spring的上下文,或者直接拿到Environment对象,就能获得所需的配置。可是在不归spring容器管理的类,是没有办法直接获取到spring的上下文。只能采取间接手段,通过一个归spring管理的容器的static方法获得spring的上下文。

解决方案

  1. 获取spring上下文,通过spring上下文获得bean
    这一步也可以通过Hutool工具类去获得,少些这个类,不过也挺麻烦的,还要修改扫包之类的,我嫌麻烦就自己写一个小工具类了。
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值