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()
}
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
