Spring Bean中迴圈依賴解決方案
在迴圈依賴是指在A中引用B,B中引用C,而C中引用A,容器建立物件時會出現死迴圈。相關解決方案如下:
1 選擇其一使其延遲載入,然後從上下文中獲取AService型別的bean即可。
現有AService 和BService,都在對方bean中注入,導致初始化時迴圈初始報錯,解決方案就是選擇其一使其延遲載入。用配置方式只要將其一設定lazy-init。
2.使用@Resouce或@Autowire方式自動注入的,將其一去掉自動注入註解(或者兩個都去掉),使其在建立物件時不進行自動注入,而是在使用前從IOC容器中獲取。
程式碼:
synchronized (AService .class) {
if (aService== null) {
synchronized (AService .class) {
aService= applicationContext.getBean(AService .class);
}
}
}
3.將構造注入改為屬性注入
4…對於"singleton"作用域bean,可以通過"setAllowCircularReferences(false);"來禁用迴圈引用。
相關推薦
Spring Bean中迴圈依賴解決方案
在迴圈依賴是指在A中引用B,B中引用C,而C中引用A,容器建立物件時會出現死迴圈。相關解決方案如下: 1 選擇其一使其延遲載入,然後從上下文中獲取AService型別的bean即可。 現有AService 和BService,都在對方bean中注入,導致初始化時迴圈初始報錯,解決方案就是
Spring Bean 迴圈依賴解決方案
由於service層互相呼叫,一下子沒有什麼好的拆分方案,所以先解決迴圈依賴問題。 現有AService 和BService,都在對方bean中注入,導致初始化時迴圈初始報錯,解決方案就是選擇其一使其延遲載入。 用配置方式只要將其一設定lazy-init,具
Spring-bean的迴圈依賴以及解決方式
版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/u010853261/article/details/77940767 本文主要是分析Spring bean的迴圈依賴,以及Spring的解決方式。 通過這種解決方式,我們
JAVA異常基本知識及異常在Spring框架中的整體解決方案
我們 程序 details 編譯錯誤 htm 及其 arch extends exception 異常的頂級父類是Throwable,下面有兩個子類Exception和Error。 Error錯誤一般是虛擬機相關的問題,如系統崩潰,虛擬機錯誤等,應用程序無法處理,直接導致
Spring Boot中統一日誌解決方案
日誌是整個系統中非常重要的一環,JAVA中也有很多日誌框架,本文實現了在Spring Boot中利用logback和aop統一處理日誌。本文比較簡單,已記錄為主O(∩_∩)O~ 首先在resources目錄下新建logback-spring.xml作為logba
SpringData JPA框架使用時出現JSON迴圈依賴解決方案
發現問題出在轉換JSON的環節,出現死迴圈,如下為解決方法 Book類上面放入 @JsonIgnoreProperties(ignoreUnknown = true, value = {"hibern
關於quartz定時任務實現Job介面無法註解為spring bean 的一種解決方案
通常情況下,我們使用quartz之後,定時任務實現Job介面,並重寫execute()方法: public class QuartzJob1 implements Job { /** * quartz回撥此介面,此介面中為定時任務具體執行內容 *
spring bean的迴圈依賴
轉載:https://blog.csdn.net/qq_38663729/article/details/80438680, https://blog.csdn.net/u010853261/article/details/77940767 單例:三級快取 構造器依賴bean:無解,因為加入
Spring Cloud 中 分散式事務解決方案 -- 阿里GTS的使用
1:依賴引入 <!--gts相關--> <!--資料庫連線--> <dependency> <groupId>org.springframework.b
論Spring中迴圈依賴的正確性與Bean注入的順序關係
一、前言 最近在做專案時候遇到一個奇葩問題,就是bean依賴注入的正確性與bean直接注入的順序有關係,但是正常情況下明明是和順序沒關係的啊,究竟啥情況那,不急,讓我一一道來。 二、普通Bean迴圈依賴-與注入順序無關 2.1 迴圈依賴例子與原理 public class BeanA {
Spring中的迴圈依賴解決詳解
前言 說起Spring中迴圈依賴的解決辦法,相信很多園友們都或多或少的知道一些,但當真的要詳細說明的時候,可能又沒法一下將它講清楚。本文就試著儘自己所能,對此做出一個較詳細的解讀。另,需注意一點,下文中會出現類的例項化跟類的初始化兩個短語,為怕園友迷惑,
Spring 迴圈引用解決方案
Spring 迴圈引用解決方案 一、問題呈現: 上述memberMerchantService 和 memberService 互相引用或者深層注入引用 導致專案啟動不了 【詳細問題描述】: Bean with name ‘xxxS
Spring構造注入迴圈依賴(BeanCreationException/BeanCurrentlyInCreationException)及其解決辦法
1.什麼是迴圈依賴 在說什麼是迴圈依賴之前,不妨使用程式碼,先丟擲這個異常,bug重現一下。 工程目錄如下: 注意: 本文中只需要一個配置檔案:spring.xml,兩個bean:User和Role
關於spring 注入中迴圈 ,環形依賴問題的明確
首先為什麼叫明確了?就是因為好多人對於這個到底可以不可以是很模糊的,我也詢問過好多人,都說是不可以的,但是還有一部分人認為是可以的。那麼為什麼會出現這2種截然不同的方式?初步判斷使用方式不同導致的,。最重要回過頭了再說這個問題最重要的原因是之前自己瞭解過,但是不是很明確,像
Spring之迴圈依賴解決
開發十年,就只剩下這套架構體系了! >>>
死磕Spring之IoC篇 - 單例 Bean 的迴圈依賴處理
> 該系列文章是本人在學習 Spring 的過程中總結下來的,裡面涉及到相關原始碼,可能對讀者不太友好,請結合我的原始碼註釋 [Spring 原始碼分析 GitHub 地址](https://github.com/liu844869663/spring-framework) 進行閱讀 > > Spring 版
Spring bean中的properties元素內的name 和 ref都代表什麽意思啊?
spring code 文件 use bsp div 字符 sco nbsp <bean id="userAction" class="com.neusoft.gmsbs.gms.user.action.UserAction" scope="pr
負載均衡集群中的session解決方案
集群 負載均衡 解決方案 前言在我們給Web站點使用負載均衡之後,必須面臨的一個重要問題就是Session的處理辦法,無論是PHP、Python、Ruby還是Java,只要使用服務器保存Session,在做負載均衡時都需要考慮Session的問題。分享目錄:問題在哪裏?如何處理?會話保持(案例:N
[轉]使用@Test 也可以從spring容器中獲取依賴註入
oca fig article ring1 detail ice 如果 text resource 轉自:http://blog.csdn.net/u010987379/article/details/52091790 @RunWith(SpringJUnit4Cla
spring mvc的跨域解決方案
增加 是否 strac inf oss ref nds sso option 什麽是跨域 一句話:同一個ip、同一個網絡協議、同一個端口,三者都滿足就是同一個域,否則就是跨域。 為什麽非得跨域 基於兩個方面: a. web應用本身是部署在不同的服務器上 b.基於開發的角度