Spring 原生是允許並解決了單層迴圈引用的,但從 Spring Boot 2.6.0 開始,預設禁止 Bean 之間的迴圈引用,如果存在迴圈引用就會啟動失敗報錯。
此時要解決迴圈引用問題有兩個辦法:
-
設定Spring允許迴圈引用(推薦)。
spring: main: allow-circular-references: true
-
在迴圈引用的一方新增
@Lazy
。這種方式雖然也能解決迴圈引用,但隨著迴圈引用數量的增加,需要新增大量的註解,非常繁瑣,不推薦。
Spring 原生是允許並解決了單層迴圈引用的,但從 Spring Boot 2.6.0 開始,預設禁止 Bean 之間的迴圈引用,如果存在迴圈引用就會啟動失敗報錯。
此時要解決迴圈引用問題有兩個辦法:
設定Spring允許迴圈引用(推薦)。
spring:
main:
allow-circular-references: true
在迴圈引用的一方新增@Lazy
。
這種方式雖然也能解決迴圈引用,但隨著迴圈引用數量的增加,需要新增大量的註解,非常繁瑣,不推薦。