springmvc容器是spring容器的子容器,但是子容器可以父容器的bean, 但是父容器不能訪問子容器的bean
可以把所有的bean都配置在springmvc容器的配置檔案中,但是拓展性不好。所有一般都各司其職,因此包掃瞄要分開。
>
>
>
>
>
contextconfiglocationparam-name
>
>
>
context-param
>
>
>
org.springframework.web.context.contextloaderlistenerlistener-class
>
listener
>
>
>
dispatcherservlet-name
>
>
org.springframework.web.servlet.dispatcherservletservlet-class
>
>
>
contextconfiglocationparam-name
>
>
classpath:springmvc/dispatcher-servlet.xmlparam-value
>
init-param
>
>
1load-on-startup
>
servlet
>
>
>
dispatcherservlet-name
>
>
/url-pattern
>
>
>
1.web.xml先初始化通用上下文 contextloaderlistener
springmvc容器管理: controller層以及各種檢視、對映…解析介面卡
spring容器管理:datasource、service、dao等
如果兩個容器不各司其職,比如兩個配置檔案的包掃瞄都如下
<
context:component-scan
base-package
="專案.*"
/>
那麼做為子容器的springmvc容器就一手遮天了,最終掃瞄到的註解bean都會注入到springmvc容器,而不是spring容器,spring容器沒有這些bean。而且作為父類的spring容器無法訪問springmvc容器的bean。
!!! 易出現的壞情況
<
tx:annotation-driven
transaction-manager
="transactionmanager"
/>
這時業務類裡面的@transactional是被springmvc容器捕獲掃瞄到的(spring容器不能),但是springmvc容器裡沒有這個驅動配置,顯然這個註解就廢了。 SpringMVC容器和Spring容器
tomcat jetty在啟動時給每個web應用建立乙個全域性的上下文環境,這個上下文就是servletcontext,其為後面的spring容器提供宿主環境。tomcat jetty在啟動過程中觸發容器初始化事件,spring的contextloaderlistener會監聽到這個事件,它的con...
Spring元件和IOC容器
主要完成三個功能,在spring中好比乙個演員的角色 1 bean的建立 由beanfactory完成 2 bean的定義 由beandefinition完成 3 bean的解析 由beandefinitionreader完成 該元件提供了spring的基本執行環境,在spring中好比乙個舞台的角...
spring註解和springmvc容器初始化過程
本節主要通過乙個自定義註解了解註解是什麼,然後簡要介紹下spring註解分類和作用,最後簡要概括一下web spring容器初始化過程 1 自定義annotation my註解 target inherited documented retention retentionpolicy.runtime...