在非spring注解类中使用spring容器中的bean_普通类中使用yml配置文件中的配置信息---SpringCloud工作笔记184

当在非@Configuration或@Service注解的类中使用@Autowired和@Value无法注入时,可以通过创建SpringUtil工具类和注入类来解决。首先,使用SpringUtil从容器中获取Bean;然后,在需要注入的类中,通过静态代码块利用注入类获取配置信息和Bean对象。这种方法实测可行,能帮助在普通类中访问YML配置和Spring Bean。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    我们知道,如果我们在一个不加@Configration 或者 @Service的类中,直接使用

@Autowired注入,比如:

@Autowired
private XXXService xxxService;

这样子调试的时候,实际上收到的xxxService对象是null,同时,如果我们使用了

@Value 比如

@Value("${data-collector.basepath}")

这种方式获取yml中 配置信息的时候也是获取不到的,获取出来是个null怎么弄?

-------------------->>>>>>>>开始解决>>>>>>>--------------

  1.首先我们需要一个springUtil工具类,用来从spring容器中获取我们想要的Bean


import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.framework.AopContext;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springfr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

添柴程序猿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值