web.xml加載順序及Spring包掃描注意


 一、web.xml文件中配置文件加載順序

web.xml文件中,我們一般會配置一些工程啓動時需加載的配置文件.比如:SpringMVC工程開發時,  
我們一般是會有兩個xml的配置文件。一個上下文配置文件applicationContext.xml,另一個就是springMVC的配置文件servlet-context.xml文件.
加載順序:
 1. 服務器啓動時,首先會找web.xml文件,加載web.xml文件中配置文件;
 2.找到 web.xml後,首先加載上下文配置文件;也就是<context-param></context- param>標籤中初始化文件.其可用通配符的方式指定路徑加載多個文件;比如:application*.xml.
 3.加載監聽器;<listener>...</listener>
 4.加載過濾器;<filter>...</filter>
 5.加載Servlet;<servlet></servlet>。比如SpringMVC的配置文件servlet-context.xml。

 二. SpringMVC配置事務管理時,@Service,@Controller包文件掃描時配置注意事項:

 1. 當我們在applicationContext.xml中添加了Spring的事務配置,而在servlet-context.xml中添加掃描@service包路徑<context:component-scan base-package="**.*.service" />時,   
 則當我們在Service中方法添加事務註解時,會發現事務沒有起作用.而把<context:component-scan base-package="**.*.service" />放在和事務配置的同一個xml配置文件時,就可以了.總的來說就是Service層要在Controller層先被掃描.
 2. 當在applicationContext.xml文件中添加了掃描Service包的路徑<context:component-scan base-package="com.cn.service.*" />時,      
    又同時在servlet-context.xml文件中添加掃描<context:component-scan base-package="com.cn.*" />時,Spring事務也不會起作用。因爲SpringMVC中配置文件中配置會覆蓋applicationContext.xml中內容.



----------內容只是個人總結,有不對之處,還請指正.謝謝!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章