我對Spring框架有點熟悉,但是從項目架構的角度來看,我仍然有很多關於Spring使用的問題。現在我正在設置Spring 3和一個Maven Web應用程序,並且願意嘗試所有的花哨的組件掃描和自動裝配功能,但這是我感到困惑的地方。Spring 3應用上下文加載
我想將項目分解成子模塊。在某些時候,這些子模塊可能包含something-context.xml
classpath*:resource/META-INF
,例如,當我想要在單獨的模塊中定義一個datsource相關的東西時。所以這很好,讓我們從所有jar的類路徑中加載上下文文件。
但是,這裏就是模糊的地方 - 比如說我正在使用組件掃描。我顯然使用spring DispatcherServlet
,它需要加載一個servlet上下文,然後在web.xml contextConfigLocation
中指定一個全局應用程序上下文參數。
所以現在servlet上下文配置有com.mycom.project.controllers
並在全球contextConfigLocation
加載情況下啓用組件掃描功能具有裝載組件掃描功能的包com.mycom.project
還搜索classpath*:META-INF/spring/*-context.xml
的上下文。
所以我的問題是 - 這個負載控制器的兩次給定的組件掃描是用於爲com.mycom.project.controllers
和com.mycom.project
?或者是全部加載到一個巨大的容器中,DispatcherServlet
或全局聲明的contextConfigLocation
參數是一種訪問問題?如DispatcherServlet
將只達到servlet-context.xml
中定義的內容,但將無法使用其他任何內容?
如果我的假設錯了,我可以就如何管理多模塊項目問題提出建議嗎?
謝謝。
謝謝你快速回答!你提供的鏈接答案確實有幫助。 – Xeperis