Java核心技術:什麽是Spring?
從簡單性、可測試性和松耦合的角度來看,任何Java應用程序都可以受益於Spring。簡單來說,Spring是壹個控制反轉(IoC)和面向方面(AOP)的輕量級容器框架。讓我們從整體上了解壹下Spring的主要特點:*輕量化:Spring在尺寸和成本上都是輕量化的。另外,Spring是非侵入式的:有了Spring,我們的類還是pojo類,根本不需要繼承和實現Spring的類和接口。換句話說,使用Spring的應用程序中的對象不依賴於Spring的特定類。*IoC:Spring通過控制反轉技術來促進松耦合。當應用IoC時,壹個對象所依賴的其他對象將以被動的方式傳入,而不是由該對象自己創建或尋找依賴對象。可以認為IoC與JNDI相反——我們不控制對象自己從容器中尋找依賴,而是容器在初始化時主動將依賴傳遞給對象,這就是DI-dependency註入。基本上,對象不必自己管理和創建。完全由容器管理,我們只是使用它。*AOP:Spring提供了面向方面的編程支持。AOP將與程序業務無關的內容分離提取出來,應用對象只意識到自己應該做的事情——完成業務邏輯——僅此而已。他們不負責其他系統級問題,如日誌或事務支持。AOP將獨立於業務的邏輯橫切成真正的邏輯。*框架:Spring可以將簡單的組件配置組合成復雜的應用。在Spring中,應用程序對象以聲明的方式組合在壹起,通常是在壹個XML文件中。Spring還提供了許多基本功能(事務管理、持久性框架集成等。),用戶也有更多的時間和精力去開發應用邏輯。Spring的所有這些特性都可以幫助我們寫出更幹凈、更易管理、更易測試的代碼。它們還為Spring中的各種模塊提供基本支持。*借助Spring、郭蓉依賴註入、AOP應用和面向接口編程,降低了業務組件之間的耦合度,增強了系統擴展性。*使現有技術和框架更易於使用。*利用hibernate的SessionFactory和事務管理的封裝,Hibernate可以更簡潔地應用。* Spring並不完全依賴於Spring,開發者可以自由選擇Spring框架的部分或全部。*使用AOP,我們可以專註於業務邏輯,減少重復代碼並構建優雅的解決方案。*低侵入設計,極低代碼汙染。Spring致力於J2EE應用各層的解決方案,而不僅僅是專註於某壹層的解決方案。可以說Spring是企業應用開發的“壹站式”選擇,貫穿了表示層、業務層和持久層。雖然Spring可以壹站式解決整個項目問題,但是Spring並不想取代那些已有的框架,而是無縫集成。Spring可以降低各種框架的使用難度,它直接支持各種優秀的框架(如Struts、Hibernate、Hessian、Quartz等。).使用Spring的主要目的是讓J2EE易於使用,促進良好的編程習慣,Spring的目標是讓現有技術更易於使用。所以Spring的壹個重要思想就是集成和兼容。