首先,我想知道我應該如何從ContextLoaderListener的應用程序上下文INTO一個來自DispatcherServlet上下文的bean自動注入/注入服務層級bean。什麼設置會導致ContextLoaderListener(根上下文)成爲DispatcherServlet上下文上的「父」上下文?
比方說,對於一個隨機的簡單情況,PuppyService需要在實際資源/控制器級別上自動裝入/注入PuppyResource。 Puppy服務以及Puppy Repository和任何Puppy Entities都是從@Configuration類自動加載到根/ ContextLoaderListener上下文中的bean,它在一些其他包中執行組件掃描以獲取bean並加載它們...
與此同時,Puppy RESOURCE將更多地放在webMvc級別上並加載到DispatcherServlet的上下文中。
根據我剛剛閱讀的內容以及現在希望理解的內容,根上下文實際上是由DispatcherServlet創建的上下文的「父」上下文。這意味着位於根上下文內的bean實際上可以被自動裝入/注入到由DispatcherServlet創建的上下文內的任何bean中。我從字面上理解了這種'嵌套'上下文的概念。這是否準確?
如果這是準確的,那麼配置的設置將根環境設置爲「父」環境?目前,當我配置servlet/listener時,我通過WebApplicationInitializer的自定義實現來完成它,其中我只創建兩個上下文,分別將它們分別加載到DispatcherServlet實例和ContextLoaderListener實例中,然後將每個實例分別註冊到servlet 。我在那裏猜測,ContextLoaderListener的應用程序上下文自動被設置爲「父」。
有人可以簡單解釋一下嗎?謝謝。
我有什麼問題嗎? –