[Spring學習之初出茅廬]

我是太陽啦啦啦發表於2017-11-26

前言:

Spring是一個開原始碼的設計層面的框架,解決的是業務邏輯層和其他層的鬆耦合問題,簡單來說,spring是一個分層的Javaee輕量級開源框架.

核心:

背景

傳統的J2EE應用的開發效率低,應用伺服器廠商對各種技術的支援並沒有真正統一,導致J2EE的應用沒有真正實現writeOnce及Run Anywhere的承諾.Spring作為開源的中介軟體,獨立於各種應用伺服器,省會無須應用伺服器支援,也能提供應用伺服器的功能,如宣告式事務/事務處理等等,Spring致力於J2EE應用的各層的解決方案,而不是僅僅專注於某一層的方案.可以說Spring是企業應用開發的一站式選擇,並貫穿表現層.業務層.持久層.然而,Spring並不想取代那些已有的框架,而是與它們無縫地整合.[摘自百度]

總結起來就是Spring有著自身的優勢,帶來了春天一樣的鮮活的生命力,並且和其他的已有的框架實現了很好的整合.

定義

Spring框架是一個分層的架構,它包含一系列的功能要素分為大約20個模組.下面這個圖可見:

核心容器:beans core context expression

i+1

結合我們們之前學習的Struts,Hibemate來學習

                              瀏覽器
    javascript                       
                                       伺服器
  web                         service                       dao
 struts                                                        hibernate
 spring mvc            spring                       mybatis


SSH框架即:structs     spring     hibernate

SSM框架即:springmvc   spring     mybatis


分層:web層:Struts,spring-MVC
     service層:spring
     dao層:hibernate,mybatis,jdbcTemplate--spring data

框架特徵

輕量
輕量級,從大小與開銷兩方面而言spring都是輕量的.從這個例子我們可以看出:完整的spring框架可以在一個大小之後1mb多的jar檔案裡釋出,並且spring所需要的開銷越是微不足道的.與EJB相比,依賴資源少,銷燬的資源少
面向切面
允許通過分離應用的業務邏輯與系統級服務進行內聚性開發.
容器
容器給人的概念則是輕量級的,spring包含並管理應用物件的配置和生命週期,可以配置每一個bean如何被建立的

控制反轉

一個物件依賴的其他物件會通過被動的方式傳遞出來,而不是這個物件自己建立或者查詢依賴物件.

特性

方便解耦,簡化開發

AOP程式設計的支援

方便程式的支援

方便程式的測試

方便整合各種優秀框架

降低javaEE API的使用難度

spring核心

控制反轉和麵向切面

總結:

關於spring的兩個核心,在後面的部落格中會相繼介紹,感謝大家的閱讀.

相關文章