构造Spring循环依赖关系的更好方法

时间:2020-06-29 20:03:18

标签: spring-boot

我目前正在解决循环依赖

@Lazy

弹簧标签。但是我想知道是否有更好的方法通过重新设计来解决它。

基本上我有2个豆子:

  1. 计划程序Bean(根据计划列表计划任务)
  1. ConfigGrabber Bean(从数据库获取作业​​列表,并将其作为调度列表加载到Scheduler中),

我需要configGrabber每10分钟运行一次,我正在使用调度程序来调度它运行。

这会在两个bean之间创建一些循环引用,因为Scheduler必须直接或间接地了解configGrabber。 ConfigGrabber必须了解调度程序。我目前正在使用Factory类,该类知道configGrabber以及Scheduler bean中带有@Lazy标记。

通过使用@Lazy,我实际上实现了:

  1. 调度程序bean的初始化,不初始化configGrabber参考
  2. configGrabber加载,调用调度程序
  3. 调度程序通过工厂类间接调用configGrabber
  4. Spring注入处理呼叫的configGrabber。

这行得通,但此序列似乎不干净且不够鲁棒,此设计是否过于混乱?有更好的方法吗?谢谢

0 个答案:

没有答案
相关问题