EricGu's Java-Record-Space

          專注 學習 實踐 創新

          Spring控制反轉的通俗解釋【轉】

          什么叫控制反轉呢?套用好萊塢的一句名言就是:你呆著別動,到時我會找你。
          什么意思呢?就好比一個皇帝和太監
          有一天皇帝想寵幸某個美女,于是跟太監說,今夜我要寵幸美女
          皇帝往往不會告訴太監,今晚幾點會回宮,會回哪張龍床,他只會告訴太監他要哪位美女

          其它一切都交由太監去安排,到了晚上皇帝回宮時,自然會有美女出現在皇帝的龍床上
          這就是控制反轉,而把美女送到皇帝的寢宮里面去就是注射

          太監就是是框架里面的注射控制器類BeanFactory,負責找到美女并送到龍床上去
          整個后宮可以看成是Spring框架,美女就是Spring控制下的JavaBean
          而傳統的模式就是一個饑渴男去找小姐出臺
          找領班,幫助給介紹一個云云,于是領班就開始給他張羅
          介紹一個合適的給他,完事后,再把小姐還給領班,下次再來

          這個過程中,領班就是查詢上下文Context,領班的一個職能就是給客戶找到他們所要的小姐
          這就是lookup()方法,領班手中的小姐名錄就是JNDI//Java Naming and Directory Interface
          小姐就是EJB饑渴男是客戶端青樓是EJB容器
          看到區別了么?

          饑渴男去找小姐出臺很麻煩,不僅得找,用完后還得把小姐給還回去

          而皇帝爽翻了,什么都不用管,交給太監去處理,控制權轉移到太監手中去了而不是皇帝,

          必要時候由太監給注射進去就可以了


          posted on 2010-12-15 11:39 Eric Gu 閱讀(1000) 評論(0)  編輯  收藏 所屬分類: Spring

          導航

          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 潜山县| 洛扎县| 永吉县| 青岛市| 天峨县| 门源| 柘城县| 兴仁县| 洮南市| 益阳市| 若羌县| 图木舒克市| 鲁山县| 上思县| 延安市| 徐闻县| 怀化市| 瑞昌市| 沿河| 上思县| 安化县| 启东市| 丹巴县| 扬州市| 麻栗坡县| 巴中市| 修水县| 靖远县| 海阳市| 多伦县| 张家界市| 玉田县| 金门县| 全州县| 班戈县| 黄骅市| 无为县| 兴宁市| 衡阳县| 易门县| 永胜县|