第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

Spring 簡介

圖片描述

1. 前言

“Spring 真的那么有用嗎?”

大家好,今天我們開始一個新專題 — Spring。

首先 Spring 可謂是大名鼎鼎,如雷貫耳。而關于 Spring 的文章、書籍、教程更是數(shù)不勝數(shù)??梢哉f Spring 貫穿我們的整個職業(yè)生涯,是框架界的常青樹。那么我們這個專題專門來聊一聊: 到底 Spring 是什么,它的特點優(yōu)勢是什么,我們項目的開發(fā)為什么選擇 Spring,它能幫助我們解決哪些問題?

帶著疑問,開始我們的專題。

2. 課程進入

2.1 Spring 概述

先搞清楚 Spring 的概念:
官網(wǎng)定義

Spring 框架為任何類型的部署平臺上的基于 Java 的現(xiàn)代企業(yè)應用程序提供了全面的編程和配置模型。

Spring 的一個關鍵元素是在應用程序級別的基礎架構支持:Spring 專注于企業(yè)應用程序的 “管道”,以便團隊可以專注于應用程序級別的業(yè)務邏輯,而不必與特定的部署環(huán)境建立不必要的聯(lián)系。

慕課解釋

簡單來說:Spring 是一個免費開源框架,為了簡化企業(yè)級項目開發(fā),提供全面的開發(fā)部署解決方案。

疑問導出

看到這兒,我們明白了一件事:Spring 是幫助我們開發(fā)項目的,使用起來很方便。

那么問題來了:Spring 為了簡化項目開發(fā)到底做了哪些事情?

3. 知識入門

3.1 Spring 核心功能

Spring 到底如何簡化我們的項目開發(fā)呢?首先,來了解下 Spring 的體系結構。

3.2 Spring 的體系結構介紹

圖片描述
結構圖闡釋

  1. 左上角勾畫出負責持久層的部分,是 Spring 對數(shù)據(jù)持久化,事務管理,支持的功能框架。大家聽過的 SpringDataJpa 就是其中的一種;
  2. 右上角勾畫出是負責表現(xiàn)層的部分,是 Spring 對于表現(xiàn)層數(shù)據(jù)的處理部分的支持,比如:大家聽說過的 SpirngMVC 就是其中的一種;
  3. 最底部的負責測試的部分 是 Spring 對于項目的測試 提供了完整的一個測試環(huán)境支持;
  4. 而中間的兩部分 是我們大家常常俗稱的 Spring 框架。

疑問導出

看到這里大家可能會明白一點, Spring 其實是一個 “大家族”。從表現(xiàn)層、業(yè)務層、持久層,它都有對應的支持,而我們在框架學習的部分其實主要是使用了它中間的兩個部分的核心功能。

那么,Spring 核心功能到底是什么呢?

3.3 Spring 的核心功能

大家對于使用 Spring 框架開發(fā)項目已經(jīng)司空見慣了… 但是對于它的功能或者作用,描述出來總是差點什么,那么現(xiàn)在咱們詳細聊一聊它的核心功能。

核心功能:

  1. 控制反轉(IoC): 簡單理解 IoC 是一種設計模式,將實例化對象的控制權 由手動的 new 變成了 Spring 框架通過反射機制實例化;
  2. 依賴注入(DI): 首先理解依賴,程序運行的需要可以稱之為依賴。由于 Spring 框架通過反射技術實例化了對象,并將對象的實例存入在容器進行管理。那么如果一個類中的屬性為某個其余的類,屬性無需手動賦值,通過 spring 的配置文件,或者 Spring 提供的注解,通過 spring 框架可以實現(xiàn)直接注入屬性;
  3. 面向切面編程 (AOP): 何謂切面,切面是數(shù)學中的一個概念,表示只有一個點接觸到球體的一個平面稱呼為切面,而接觸點稱呼為切點。那么在 Spring 中,切面編程指的就是在程序運行某個方法的時候,不修改原始執(zhí)行代碼邏輯,由程序動態(tài)地執(zhí)行某些額外的功能,對原有的方法做增強,這就叫做面向切面編程,那個被監(jiān)測的執(zhí)行方法,稱呼為切入點。

知識小結

Spring 是分層的 Java SE/EE 應用 輕量級開源框架,以 IoC(Inverse of Control:控制反轉)和 AOP(Aspect Oriented Programming:面向切面編程)為內核,提供了展現(xiàn)層 Spring MVC 和持久層 Spring JDBC 以及業(yè)務層事務管理等眾多的企業(yè)級應用技術,還能整合開源世界眾多 著名的第三方框架和類庫, 是使用最多的 Java EE 企業(yè)應用開源框架。

使用 Spring 的意義在于:對于 bean 對象的實例管理更加方便,代碼編寫更加優(yōu)雅,降低代碼的耦合性,提升代碼的擴展性。

4. Spring 的優(yōu)勢

Spring 的概念和功能了解以后,下面談談它的優(yōu)勢在哪

  • Spring 簡化項目開發(fā) : Spring 靈活全面的擴展功能,使我們開發(fā)項目如魚得水 。通過 Spring 提供的 IoC 容器,可以將對象間的依賴關系交由 Spring 進行控制,避免硬編碼所造成的過度程序耦合。用戶也不必再為單例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注于上層的應用;
  • Spring 的面向切面編程 :Spirng 框架的 AOP 面向切面編程,極大地提高了程序的擴展性,支持開發(fā)人員實現(xiàn)對程序的自定義增強。同時可以方便地使用 Spring 提供的事務管理;
  • 面向接口編程: 面向接口編程 降低代碼的耦合性,同時也提高了代碼的擴展性;
  • 測試方便:對于測試的支持 有很多的組件實現(xiàn);
  • 方便集成第三方框架 Spring 可以降低各種框架的使用難度,提供了對各種優(yōu)秀框架(Struts、Hibernate、Hessian、Quartz 等)的直接支持。

5. 學習基礎

  1. 學習這門課程,首先學會 java 基礎語法、面向對象的課程;
  2. 了解常用的設計模式,比如:工廠模式 單例模式 代理模式;
  3. 理解反射,并可以應用于實踐;
  4. 可以熟練使用 maven 工具。

6. 小結

本章節(jié)主要對于 Spring 框架做了入門介紹,通過本章節(jié)的學習,我們應該知道以下幾點:

  1. Spring 框架的概念;
  2. Spring 框架的意義;
  3. Spring 框架的體系結構;
  4. Spring 框架的核心功能;
  5. Spring 框架的優(yōu)勢;
  6. Spring 框架學習的一些小要求。