Spring概況(一)

spring是什麼?

  •  spring是一個開源框架,最初是爲了解決企業應用開發的複雜性而建立的,但如今已經不止應用於企業應用。
  •  是一個輕量級的控制反轉(IoC)和麪向切面(AOP)的容器框架。

    - 從大小與開銷兩方面而言Spring都是輕量的。html

    - 經過控制反轉(IoC)的技術達到鬆耦合的目的。web

    - 提供了面向切面編程的豐富支持,容許經過容許經過分離應用的業務邏輯與系統級服務進行內聚性的開發。應用只實現業務邏輯便可,並不負責其它的系統級關注點。spring

      解釋:好比說,作一個商品的管理,商品的入庫、出庫就是業務邏輯,系統服務是,好比說入庫、出庫都要統一的日誌的記錄,和事物的管理那麼這種就屬於系統服務,它是和具體的業務邏輯是無關的,不管什麼樣的業務都會使用到的服務都把它稱爲系統服務。express

    - 包含並管理應用對象的配置和生命週期,這個意義上是一種容器。編程

    - 將簡單的組件配置、組合成爲複雜的應用,這個意義上是框架。架構

爲何是Spring?

  •  在Spring上開發應用簡單
      咱們把對象的建立、銷燬,對象的生命週期交給Spring來作,因此說是簡單的。
  •  在Spring上開發應用方便
      咱們把全部的對象管理交給了Spring,到用的時候,只須要告訴Spring你想要什麼實例,它就會給你什麼實例,因此很是方便的。
  •  在Spring上開發應用快捷
      正是由於Spring替咱們管理了這些對象,並且因爲它面向接口編程的理念的應用,使得咱們在開發的過程當中是快捷的,省去了咱們管理對象的過程。

  因此Spring帶來了複雜JavaEE開發的春天!mvc

Modules

從這幅圖中咱們能夠看出來Spring的總體架構,主要分爲六大模塊框架

Core Container單元測試

  核心部分分爲4大塊,spring-core, spring-beans, spring-context, spring-expression. 其中core和bean是整個框架的核心,提供了基礎的DI和IoC功能。 Context創建在core和beans模塊之上,提供一種相似JNDI且以框架的方式來操做對象的方式。Context模塊從beans模塊繼承它的功能同時增長了國際化支持,如資源綁定等,同時,Context模塊也支持JavaEE功能,如EJB,JMX和基本的遠程調用。ApplicationContext接口是context模塊的焦點。expression是一種很強大的expression language,支持在運行時查詢和操做對象的屬性,咱們會在後面的文章中舉些例子來講明spring expression language的用法。測試

AOP and instrumentation

  Aop模塊提供了面向切面編程的實現,和AspectJ集成。

Messaging

  Messaging是spring4新增長的模塊,包含了一部分主要的基於message的應用的實現。

Data Access/Integration

  Data access顧名思義,是spring對數據層提供的支持,是功能比較豐富的模塊。提供了包括JDBC,事物,ORM,JMS等一系列實現。

Web

  Web模塊主要提供面向web的一些實現,例如多文件上傳,servlet監聽器以及spring mvc方面的支持。

Test

  Test模塊主要是針對spring的各個模塊作各類各樣的測試,包括單元測試、集成測試等等。

Spring做用

  •  容器
  •  提供了對多種技術的支持
      - JMS
      - MQ支持
      - UnitTest
      - 。。。。。。
  •  AOP(事物管理、日誌等)
  •  提供了衆多方便應用的輔助類(JDBC Template等)
  •  對主流應用框架(Hibernate等)提供了良好的支持

適用範圍

  •  構建企業應用(SpringMVC+Spring+Hibernate/MyBatis(ibatis))
  •  單獨使用Bean容器(Bean管理)
  •  單獨使用AOP進行切面處理
  •  其餘的Spring功能,如:對消息的支持等
  •  在互聯網中的應用。

文章出自:藝意

相關文章
相關標籤/搜索