我注意到在使用多個@Configuration
文件時,組件掃描和bean創建時出現歧義。彈簧多個@配置組件掃描模糊
比方說,我有配置方法級別的安全性,它需要掃描包含需要AOP代理的類的包。這些類依賴於其他類,也是其他類的依賴關係。
一切工作正常,直到我掃描相同的包在不同的配置,如在根配置。然後例如循環依賴關係和bean創建開始出現。似乎根配置也嘗試實例化相同的對象,但當然不能這樣做,因爲在某些時候,AOP代理無法應用於此配置路徑中,並且依賴關係無法滿足。
一切工作,如果我最終準確的地方,我掃描什麼,但我很驚訝春天不能編排自動創建豆的訂單。這是真的嗎?還是有什麼可疑的事情發生?
完全錯過了這個基本概念。我正在開發Web應用程序,因此有多個上下文不適合。從數組中選擇違反了框架透明度。我想我唯一的選擇是更多隔離包裝,但它有點反直覺,因爲安全是一個橫切關注。一個邏輯包中可能有多個ccc - >同一個包中的單個組件應該通過不同的配置實例化。在root配置中掃描這些組件會更有意義。我期待着一些有關管理多個配置層次結構的最佳實踐。 –
安全HM?掃描一個軟件包也會加載第三方庫bean,掃描可以消除具體的控制,最好的做法可能是不掃描。 –
我可以讓bean在配置文件* transactional *中創建嗎?據我所知,由@EnableTransactionManagement啓用的後處理器將代理用@ Transactional註釋的@ Services。定義'@ Bean'爲'@ Transactional'足夠了嗎? –