springboot中在非bean类中调用bean的实现方法
作者:lijiabin417
在Spring Boot中,非Bean类调用Bean方法通常需要通过静态方法获取Bean实例,然后调用相应的方法,这种方法避免了直接在非Bean类中注入Bean,保持了代码的简洁和可维护性,通过这种方式,可以在不改变原有代码结构的情况下,实现Bean方法的调用
springboot在非bean类中调用bean方法
因为遇到这种从场景,记录一种实现方式
实现原因
通过提供一个通过静态方法获取实现,通过这个实现调用对应的方法
- 中间类
@Component public class CommonBeanUtil { //bean注入 private static MyBean myBean ; @Autowired public void setMyBean(MyBean myBean) { CommonBeanUtil.myBean = myBean ; } /** * 获取对应的yml的bean * */ public static MyBean getMyBeanInstance() { return myBean ; } }
- 具体的bean
@Component public class MyBean { /** * */ public void myFun() { \\代码实现 } }
- 调用
@Component public class MyBean { public void fA() { MyBean.myFun() } }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。