首先說一下什么是依賴循環,比如:我現在有一個ServiceA需要調用ServiceB的方法,那么ServiceA就依賴於ServiceB,那在ServiceB中再調用ServiceA的方法,就形成了循環依賴。Spring在初始化bean的時候就不知道先初始化哪個bean就會報錯。
- public class ClassA {@Autowired ClassB classB;}
- public class ClassB { @Autowired ClassA classA ;}
解決辦法是進行解耦。
@Autowired @Lazy private ClassA classA;
@Autowired @Lazy private ClassB classB;