Spring 是什麼? Spring 是一個開源的輕量級 Java SE( Java 標準版本)/Java EE( Java 企業版本)開發應用框架,其目的是用於簡化企業級應用程式開發。在傳統應用程式開發中,一個完整的應用是由一組相互協作的對象組成的。所以開發一個應用除了要開發業務邏輯之外,最多的是 ...
Spring 是什麼?
Spring 是一個開源的輕量級 Java SE( Java 標準版本)/Java EE( Java 企業版本)開發應用框架,其目的是用於簡化企業級應用程式開發。在傳統應用程式開發中,一個完整的應用是由一組相互協作的對象組成的。所以開發一個應用除了要開發業務邏輯之外,最多的是關註使這些對象協作來完成所需功能的同時,實現低耦合、高內聚。所以,業務邏輯開發是不可避免的。如果有個框架可以幫我們來創建對象及管理這些對象之間的依賴關係,能通過配置方式來創建對象,管理對象之間依賴關係,我們不需要通過工廠和生成器來創建及管理對象之間的依賴關係,這樣我們必然會減少許多工作量,加快開發。
Spring 框架除了幫我們管理對象及其依賴關係,還提供像通用日誌記錄、性能統計、安全控制、異常處理等面向切麵的能力,可以幫我們管理最頭疼的資料庫事務,同時,它本身提供了一套簡單的 JDBC 訪問實現,能與第三方資料庫訪問框架集成(如 Hibernate、JPA ),與各種 Java EE 技術整合(如 Java Mail、任務調度等等),提供一套自己的 web 層框架 Spring MVC 、而且還能非常簡單的與第三方 web 框架集成。
spring核心:
IOC容器:控制反轉 (Inversion of Control)就是由容器控製程序之間的關係,而非傳統實現中,由程式代碼直接操控。
DI:稱作依賴註入(Dependency Injection),和控制反轉一個概念,具體的講,當一個角色需要另外一個角色協助的時候,在傳統的程式設計中,通常有調用者來創建被調用者的實例。但是在spring中創建被調用者將不再有調用者完成,因此叫控制反轉。創建被調用對象有Spring來完成,在容器實例化對象的時候主動的將被調用者(或者說它的依賴對象)註入給調用對象,因此又叫依賴註入。
AOP: AOP 是 Aspect Oriented Programming 的縮寫,意思是面向切麵編程。從另一個角度來考慮程式結構以完善面向對象編程( OOP ),即可以通過在編譯期間、裝載期間或運行期間實現在不修改源代碼的情況下給程式動態添加功能的一種技術。通俗點說就是把可重用的功能提取出來,然後將這些通用功能在合適的時候織入到應用程式中;比如安全,日誌記錄,這些都是通用的功能,我們可以把它們提取出來,然後在程式執行的合適地方植入這些代碼並執行它們,從而完成需要的功能並復用了這些功能。