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 閱讀(1011) 評論(0)  編輯  收藏 所屬分類: Spring

          導航

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

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 常熟市| 赫章县| 镇原县| 琼海市| 泸水县| 繁昌县| 灵石县| 禄丰县| 扎囊县| 嘉义县| 卢湾区| 宣恩县| 紫阳县| 嘉善县| 封丘县| 宣汉县| 和静县| 来宾市| 东山县| 德庆县| 台安县| 宜章县| 奉化市| 高清| 洞口县| 太仆寺旗| 汝阳县| 伊宁市| 宁远县| 湖北省| 华容县| 恭城| 乡城县| 墨江| 句容市| 元谋县| 哈巴河县| 逊克县| 社旗县| 榆中县| 沙田区|