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)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 温泉县| 汪清县| 建始县| 剑河县| 德阳市| 阿拉善盟| 大田县| 定陶县| 芷江| 松原市| 涡阳县| 扶风县| 哈巴河县| 沁阳市| 铜鼓县| 团风县| 琼海市| 镇康县| 邛崃市| 铜梁县| 岑溪市| 凤台县| 英山县| 鄂尔多斯市| 拉孜县| 嘉义市| 建始县| 赞皇县| 柘城县| 尤溪县| 渭南市| 汪清县| 翁源县| 视频| 蒙城县| 百色市| 遵义县| 六盘水市| 定陶县| 阳谷县| 仁化县|