Spring一些基本概念

          Spring一些基本概念

          ?

          輕量級 ?

          組件小,庫小

          Spring 在某種意義上是 EJB 的替代品,她是一種輕量級的容器。用過 EJB 的人都知道 EJB 很復雜,為了一個簡單的功能你不得不編寫多個 Java 文件和部署文件,他是一種重量級的容器。

          ?

          非入侵式

          ?

          重量級容器是一種入侵式的,也就是說你要用 EJB 提供的功能就必須在你的代碼中體現 出來你使用的是 EJB ,比如繼承一個接口,聲明一個成員變量。這樣就把你的代碼綁定在 EJB 技術上了

          ?

          相對而言“輕量級”就是非入侵式的,用 Spring 開發的系統中的類不需

          要依賴 Spring 中的類,不需要容器支持(當然 Spring 本身是一個容器),而且

          Spring 的大小和運行開支都很微量

          ?

          ?

          容器

          為容器提供一個運行環境,

          ?

          IOC/DI

          IoC 的全稱是 Inversion of Control ,中文翻譯反向控制或者逆向控制

          反轉控制,另一個名字依賴注入,

          控制權的轉移即是所謂的反轉。

          ?

          依賴注入

          為調用者對象設置被調用者對象

          接口注入

          構造注入

          設置注入 (set/get)

          ?

          AOP

          AOP 全稱是 Aspect-Oriented Programming ,中文翻譯是面向方面的編程或者面向切面的編程。 你應該熟悉面向過程的編程,面向對象的編程,但是面向切面的編程你也許是第一次聽說

          ?

          ?

          POJO

          我所看到過的 POJO 全稱有兩個, Plain Ordinary Java Object , Plain Old Java

          Object ,兩個差不多,意思都是普通的 Java 類,所以也不用去管誰對誰錯。 POJO

          可以看做是簡單的 JavaBean (具有一系列 Getter , Setter 方法的類)。嚴格區分

          這里面的概念沒有太大意義,了解一下就行。

          ?

          應用 Spring 中的切面

          Spring 生來支持 AOP ,首先來看幾個概念:

          ?

          1、?? 切面( Aspect ):

          切面是系統中抽象出來的的某一個功能模塊,上文已經有過介紹,這里不再多說。

          2 、 通知( Advice

          通知是切面的具體實現。也就是說你的切面要完成什么功能,具體怎么做就是在通知里面完成的。這個名稱似乎有點讓人費解,等后面看了

          代碼就明白了。

          ?

          3 切入點( Pointcut ):

          切入點定義了通知應該應用到系統的哪些地方。

          Spring 只能控制到方法(有的 AOP 框架可以控制到屬性),也就是說你能在方法調用之前或者之后選擇切入,執行額外的操作。

          ?

          2、?? 目標對象( Target ):

          目標對象是被通知的對象。它可以是任何類,包括你自己

          編寫的或者第三方類。有了 AOP 以后,目標對象就只需要關注自己的核心業務,其他的功能,比如日志,就由 AOP 框架支持完成。

          ?

          3、??? 代理( Proxy

          簡單的講,代理就是將通知??? 應用到目標對象后產生的對象。

          Spring 在運行時會給每個目標對象生成一個代理對象,以后所有對目標對象的操作都

          會通過代理對象來完成。只有這樣通知才可能切入目標對象。對系統的其他部

          分來說,這個過程是透明的,也就是看起來跟沒用代理一樣。

          ?

          ?

          “連接點( Jointpoint ??

          ?

          ?

          ?

          ?

          posted on 2009-03-29 11:47 luofeng225 閱讀(210) 評論(0)  編輯  收藏 所屬分類: Spring

          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          公告

          我曾經聽到這么一個故事: 一個年輕的程序員問一個老程序員(一個比較牛逼的公司的CTO) 年輕程序員: 你為什么這么牛X., 就好像沒有你不會的。老程序員: 積累的。年輕程序員: 怎么才能積累到您的程度呢。我每天都在積累。但是似乎都沒有感覺到進步。老程序員: 我從20歲開始做到了一件事情,直到今天,而且盡可能地保證不間斷。年輕程序員: 到底是什么? 老程序員: 我每天保證自己有2個小時在學習新的東西。

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          收藏夾

          Java Website

          java技術博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 招远市| 邢台县| 定西市| 扎鲁特旗| 滨海县| 屯留县| 黑龙江省| 大同县| 石林| 手机| 分宜县| 来安县| 得荣县| 鄢陵县| 岱山县| 台南市| 松潘县| 伊春市| 柏乡县| 凤凰县| 长兴县| 丰台区| 五莲县| 呼和浩特市| 中方县| 乌苏市| 凌源市| 安岳县| 许昌市| 乌兰察布市| 新津县| 吐鲁番市| 鹤岗市| 霞浦县| 嘉鱼县| 凤台县| 海伦市| 河曲县| 巨鹿县| 新巴尔虎右旗| 五华县|