springmvc上下文與springcontext上下文的關系


內容摘自:springmvc與spring上下文的關系

原理區別

一直不清楚springmvc-servlet.xml配置與spring.xml兩個配置文件出現的上下文關系。今天找到一上面的文章,倒是突然間清楚了。

具體來說,spring.xml上下文與springmvc-servlet.xml上下文是父子容器上下文的關系,他們有以下關系特點:

  • spring.xml定義的上下文是父上下文,不能調用子容器的上下文,也就是不能調用springmvc-servlet.xml;
  • springmvc-servlet.xml定義的是子類上下問,可以調用父容器spring.xml的上下文內容;

相信看到這里,如果看過java虛擬機規范,應該可以想到它這種設計跟classloader的“雙親委派模型”很類似。

實際應用

知道原理區別后,實際在應用中,往往有兩種模式:

傳統型

所謂傳統型,就是action、service、dao三層架構,基於復雜業務的大公司開發模式。

對這種模式,一般spring上下文控制在service、dao兩層,事物完整性也是在service層控制;而springmvc-servlet控制action層。

這樣的結果導致以下調用關系:

  • action可以調用service、dao;
  • service、dao不能調用action;
  • spring上下文容器的aop不能應用到action層,但是可以通過在springmvc-servlet.xml中定義來做到類似事情。

激進型

所謂激進型,就是為了速度快捷,不寫那么多類,不采用傳統的action、service、dao三層模式,直接合一,對接私活等講求速度的工作可以考慮。

對激進型開發,就簡單使用springmvc-servlet.xml這個子上下文來管理所有內容好了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM