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)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 成武县| 广宁县| 兴海县| 临洮县| 石城县| 东山县| 杨浦区| 云浮市| 平谷区| 龙门县| 麻江县| 英超| 海门市| 南木林县| 两当县| 新和县| 衡水市| 法库县| 石景山区| 视频| 德昌县| 赣榆县| 新河县| 巴塘县| 武宁县| 昌图县| 祥云县| 黄石市| 大连市| 饶平县| 朝阳市| 东莞市| 延庆县| 乐昌市| 东城区| 崇仁县| 远安县| 来凤县| 柳江县| 清水县| 滦南县|