1. 程式人生 > >spring學習(一)spring簡介

spring學習(一)spring簡介

Spring簡介:

  Spring 框架是 Java 應用最廣的框架,它的成功來源於理念,而不是技術本身,它的理念包括 IoC (Inversion of Control,控制反轉) 和 AOP(Aspect Oriented Programming,面向切面程式設計)

  什麼是框架:

    框架:是能完成一定功能的半成品。

    框架能夠幫助我們完成的是:專案的整體框架、一些基礎功能、規定了類和物件如何建立,如何協作等,當我們開發一個專案時,框架幫助我們完成了一部分功能,我們自己再完成一部分,那這個專案就完成了。

 

如何定義Spring:

  (1)Spring 是一個輕量級的 DI / IoC 和 AOP 容器的開源框架,一站式框架。
    1、輕量級和重量級:
    輕量級是相對於重量級而言的,輕量級一般就是非入侵性的、所依賴的東西非常少、資源佔用非常少、部署簡單等等,其實就是比較容易使用,而重量級正好相反

    2、容器:
    在日常生活中容器就是一種盛放東西的器具,從程式設計角度看就是裝物件的的物件,因為存在放入、拿出等操作,所以容器還要管理物件的生命週期

    3、一站式:
      WEB層:SpringMVC
      業務層:Spring的IoC
      持久層:Spring的JDBCTemplate(Spring的JDBC模板,ORM模板用於整合其他的持久層框架)

   (2)Spring 提倡以“最少侵入”的方式來管理應用中的程式碼,這意味著我們可以隨時安裝或者解除安裝 Spring
    非侵入式設計:
      從框架的角度可以理解為:無需繼承框架提供的任何類

      這樣我們在更換框架時,之前寫過的程式碼幾乎可以繼續使用。

  Spring 的優勢:
    低侵入 / 低耦合 (降低元件之間的耦合度,實現軟體各層之間的解耦)
    宣告式事務管理(基於切面和慣例)
    方便整合其他框架(如MyBatis、Hibernate)
    降低 Java 開發難度
    Spring 框架中包括了 J2EE 三層的每一層的解決方案(一站式)

  Spring 能幫我們做什麼:
    ①.Spring 能幫我們根據配置檔案建立及組裝物件之間的依賴關係。
    ②.Spring 面向切面程式設計能幫助我們無耦合的實現日誌記錄,效能統計,安全控制。
    ③.Spring 能非常簡單的幫我們管理資料庫事務。
    ④.Spring 還提供了與第三方資料訪問框架(如Hibernate、JPA)無縫整合,而且自己也提供了一套JDBC訪問模板來方便資料庫訪問。
    ⑤.Spring 還提供與第三方Web(如Struts1/2、JSF)框架無縫整合,而且自己也提供了一套Spring MVC框架,來方便web層搭建。
    ⑥.Spring 能方便的與Java EE(如Java Mail、任務排程)整合,與更多技術整合(比如快取框架)。

 

Spring架構圖: