Bootstrap

Java循环依赖使用@Lazy(懒惰的)注解解决

    @Lazy
    @Autowired
    private TaskService taskService;

@Lazy 懒加载注解的概念

SpringIoC容器会在启动的时候实例化所有单实例 bean 。如果我们想要实现 Spring 在启动的时候延迟加载 bean,即在首次调用bean的时候再去执行初始化,就可以使用 @Lazy 注解来解决这个问题。

当@Lazy 放在类上,表示在启动的时候不会创建bean对象,当使用的时候才会创建,这样启动时只注入一个对象,就不会出现循环依赖的问题,例如A依赖B,B又依赖A,这时创建B时不会真正的去先注入A对象,依赖就消失了,等在B类中使用到A时再注入

;