探討Spring框架使用真相
關鍵字:Spring框架最近,Spring很熱鬧,因為實現IoC模式和AOP,然后又成立公司,吸取上次JBoss的教訓,文檔不敢收費,結果迎來了一片祝賀聲。 Spring真正的精華是它的Ioc模式實現的BeanFactory和AOP,它自己在這個基礎上延伸的功能有些畫蛇添足。 其實說白了
關鍵字:Spring框架最近,Spring很熱鬧,因為實現IoC模式和AOP,然后又成立公司,吸取上次JBoss的教訓,文檔不敢收費,結果迎來了一片祝賀聲。
Spring真正的精華是它的Ioc模式實現的BeanFactory和AOP,它自己在這個基礎上延伸的功能有些畫蛇添足。
其實說白了,大家"驚奇"的是它的IoC模式(使用AOP功能需要了解AOP,比較難),那么,Spring之類的Ioc模式是什么? 就是:你在編制程序時,只要寫被調用者的接口代碼,具體子類實例可通過配置實現。
Ioc模式是什么知道的人不多,但是,當他知道生成對象不用再使用new了,只要在配置文件里配置一下,他感到新鮮,其實這就是Ioc模式的實現,PicoContainer是另外一種真正輕量的Ioc模式實現,PicoContainer還是采取代碼將對象注射一個小容器中,而Spring采取配置文件。
配置式編碼其實有利有弊,編碼本來可通過
開發工具或編譯器檢查錯誤,但是過分依賴配置時,就會經常出現因為粗心導致的小錯誤,如果調試程序出錯經常是因為配置文件中小寫字母寫成大寫字母,不知道你是怎么心情?
Spring最近還發表了Spring without EJB的書,這倒是說了實話,Spring和EJB其實是相競爭,如同黑與白,如果硬是將兩者搭配使用,顯得不協調,更不是一些人所謂優化EJB調用的謠言,原因下面將會分析。既然Spring+EJB有
缺陷,那么就直接使用Spring+Hibernate架構,但是又帶來了新問題:無集群分布式計算
性能,只能在一臺機器上運行啊,具體分析見:可伸縮性和重/輕量,誰是實用系統的架構主選?
原文轉自:http://www.anti-gravitydesign.com