spring思想學習----spring起源
阿新 • • 發佈:2019-01-31
學習spring思想,就不得不瞭解spring的起源,這就又不得不扯出EJB和JavaEE平臺。
JavaEE平臺:提供了一套標準API和以元件為基礎的企業架構,更提出了一個“容器”的概念,由此可以降低企業級開發複雜度。
那元件是什麼?容器又是什麼?
元件:java程式碼總是通過抽象來達到複用,但隨著軟體規模的擴大,就需要一些類單個或組合起來,實現某些功能,一般都是已編譯好的類,,對外只提供介面,來達到二進位制級別的複用,而Java Bean就是最簡單的元件。
容器:為某些元件的執行提供必要執行支援的一個軟體環境。如Web容器為Servlet和JSP元件提供執行環境,EJB容器為EJB元件提供執行環境。而一般來說這些元件無法脫離這些容器單獨執行。
除提供元件執行環境之外,容器還提供了訪問系統底層服務的簡單方法。如EJB容器為EJB元件提供了宣告式事務服務,使開發人員不必去管事務
傳統EJB是一個重量級EJB容器加重量級EJB元件。
重量級EJB元件:需要實現EJB介面規範,程式碼侵入。但在EJB3.0後採用註解
重量級EJB容器:只能執行EJB元件(重量級元件導致這個容器也是重量級,個人觀點),現在一般只有Websphere,Weblogic,Jboss等實現了EJB容器,Tomcat,Resin不支援
EJB元件的訪問,必須通過JNDI訪問,並且測試並不方便
OK,至此Spring framework出現,一個輕量級的容器,而且任何Java Bean,JNDI物件和所有能被例項化的Java物件都可以成為元件,讓Spring容器管理