竹直心虛乃吾友,水淡性泊是我師!
          山不厭高,水不厭深
          Google
           
          posts - 3,comments - 1,trackbacks - 0

          先看代碼
          core包中的SpringVersion.java

          public class SpringVersion {
           /**
            * Return the full Spring version string.
            * @see java.lang.Package#getImplementationVersion
            */
           public static String getVersion() {
            return SpringVersion.class.getPackage().getImplementationVersion();
           }
          }

          SpringVersion.class.getPackage().getImplementationVersion();
          這一句會返回什么信息呢?我使用得是Spring1.2.6,返回如下信息.
          -----
          1.2.6
          -----
          那么這個信息又是從什么地方來的呢?
          這個就要說到產品的發布.產品發布會打成一個JAR包.JAR除了包含.class文件外,還包括一個META-INF文件夾.它下面又包含了一個MANIFEST.MF的文件.它包含了這個產品的產品信息.現在看看這個文件里都有什么吧
          -----------------------
          Manifest-Version: 1.0
          Ant-Version: Apache Ant 1.6.5
          Created-By: 1.5.0_05-b05 (Sun Microsystems Inc.)
          Implementation-Title: Spring Framework
          Implementation-Version: 1.2.6
          Spring-Version: 1.2.6
          -----------------------

          現在知道getImplementationVersion()是從哪里取東東了吧:)

          posted @ 2007-07-23 13:34 JAVA虛擬機 閱讀(456) | 評論 (0)編輯 收藏
          對于現有較成熟的Model-View-Control(MVC)框架而言,其解決的主要問題無外乎下面幾部分:
                1. 將Web頁面中的輸入元素封裝為一個(請求)數據對象。
                2. 根據請求的不同,調度相應的邏輯處理單元,并將(請求)數據對象作為參數傳入。
                3. 邏輯處理單元完成運算后,返回一個結果數據對象。
                4. 將結果數據對象中的數據與預先設計的表現層相融合并展現給用戶。
                現在來看看Spring MVC是怎么做的。
                一 總體概述
           
                Spring MVC的核心組件是DispatcherServlet,該類既作為整個MVC框架的前端控制器,同時又負責調動框架中其它組件協同工作完成對一個請求的處理。處理一個請求的大致流程如下:
               1 請求首先由DispatcherServlet截獲,DispatcherServlet把請求交給HandlerMapping,尋找相應的邏輯處理單元。
               2 HandlerMapping根據請求的不同,返回一組邏輯處理單元。在Spring MVC中,邏輯處理單元一般是由0個或多個interceptor和一個controller組成的。
               3 DispatcherServlet首先判斷返回的邏輯處理單元中是否有interceptor,如果有,則首先依次調用interceptor的方法。如果沒有,則執行controller的方法。
               4 DispatcherServlet通過HandlerAdapter來執行controller的方法,返回一個包含了模型和視圖的對象ModelAndView。使用HandlerAdapter的目的是因為Spring MVC并不關心controller實現了什么樣的接口,只要提供相應的HandlerAdapter,Spring MVC就知道該如何執行controller。
               5 如果之前返回的邏輯處理單元包含interceptor,DispatcherServlet又依次(和剛才調用interceptor的順序相反)調用interceptor的方法。
               6 DispatcherServlet把返回的ModelAndView對象交給ViewResolver,通過ViewResolver返回一個合適的View對象。
               7 最后DispatcherServlet調用View對象的render方法把模型中的數據和視圖融合,返回給用戶。
          posted @ 2007-07-13 11:27 JAVA虛擬機 閱讀(378) | 評論 (0)編輯 收藏
          切面(aspect)

          切面是你要實現的交叉功能。

          連接點(joinpoint)

          連接點是應用程序執行過程中插入切面的地點。

          通知(Advice)

          通知切面的實際實現

          切入點(pointcut)

          切入點定義了通知應該應用在哪些連接點。

          引入(Intrduction)

          引入允許你為已經存在的類添加新方法和屬性。

          目標對象(Target)

          目標對象是被通知的對象。

          代理(Proxy)

          代理是將通知應用到目標對后創建的對象。

          織入(weaving)

          織入是將切面應用到目標對象從而創建一個新的代理對象的過程。

          版權說明:http://www.aygfsteel.com/wiki

          posted @ 2007-01-09 11:16 JAVA虛擬機 閱讀(988) | 評論 (1)編輯 收藏
          僅列出標題  
          主站蜘蛛池模板: 千阳县| 新丰县| 壤塘县| 南部县| 平邑县| 光山县| 寿宁县| 马龙县| 兴宁市| 武平县| 深水埗区| 曲麻莱县| 柳江县| 琼中| 会昌县| 黔南| 盐城市| 仲巴县| 海城市| 重庆市| 奇台县| 沭阳县| 平南县| 夹江县| 宁陕县| 平利县| 民乐县| 甘德县| 大港区| 皮山县| 普兰县| 镇远县| 普格县| 东源县| 汶上县| 清河县| 兴业县| 垣曲县| 新丰县| 四子王旗| 桃园县|