国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Spring框架學習筆記(一):官方文檔介紹,IoC與AOP概念學習

mindwind / 1823人閱讀

摘要:構造函數注入通過調用類的構造函數,將接口實現類通過構造函數變量傳入。而在中,其使用橫切技術,將這類代碼從原屬的封裝對象中提取出來,封裝到一個可重用模塊中,稱為。

最近實習用到Spring的開發(fā)框架,但是之前沒有接觸過,因此希望利用網上的資源來學習以下。

Spring官方給出了非常全面的介紹,非常適合我這種完全的小白……
在這一系列學習中,我閱讀的主要資源是5.1.2 Reference Doc.,以及論壇大神的講解blog。另外,Spring官方也給出了非常詳細的API文檔,適合較為熟悉的使用者查閱。
由于本人完全入門級,因此決定從reference一點點讀起。

官方文檔:Spring Framework Documentation
https://docs.spring.io/spring...

由于缺乏相關概念基礎,因此本文開頭對Spring官方文檔的結構進行簡單介紹,之后講解Spring框架的兩大核心:IoC、AOP,在下一篇文章中再開始詳細學習Spring官方文檔。

documentation主要包括6部分:Core, Testing, Data Access, Web Reactive, Integration, Language。

Core

這一部分介紹了Spring的一些基礎核心的技術和功能,屬于Spring必讀內容。Spring Framework中最重要的一部分是控制反轉容器(Inversion of Control container, IoC),而這一功能是由面向方面的編程技術(Aspect-Oriented Programming technology, AOP)實現的。IoC和AOP可以看作Spring框架最重要的兩個核心。

為了更詳細地闡釋Spring Framework的功能,這里先介紹一下IoC和AOP兩個概念。

概念引入 1.IoC(控制反轉)與DI(依賴注入)
這一部分借鑒了論壇大神的分享:“談談對Spring IOC的理解”,https://blog.csdn.net/qq_2265...
這篇blog除講解控制反轉和依賴注入的理論認識以外,還提供了一個小的實例分析,值得閱讀。

IoC
IoC本質上是一種設計思想,在IoC中,開發(fā)者將設計好的對象交給容器控制,而不是在對象內直接控制。理解IoC的關鍵點如下:

誰控制誰,控制什么:在傳統的Java程序設計中,開發(fā)者在對象內部通過new創(chuàng)建新對象,是程序主動創(chuàng)建依賴對象;而在IoC中,專門有一個容器創(chuàng)建這些對象,即由IoC控制對象的創(chuàng)建。因此在IoC中,IoC容器控制對象,主要控制外部資源獲取(包括對象、文件等)

為何是反轉,哪些方面反轉:傳統java程序設計中,是由開發(fā)者自己在對象中主動控制去直接獲取依賴對象,即正轉;而在反轉中,是容器幫忙創(chuàng)建及注入依賴對象。反轉的含義即,容器幫我們查找并注入依賴對象,對象只是被動地接收依賴對象。反轉的實際是依賴對象的獲取過程

IoC是Spring的核心。對于Spring而言,IoC的含義即由Spring來負責控制對象的生命周期和對象間關系。也就是說,所有的類都會在Spring的容器中登記,我們告訴Spring我們是什么、需要什么,由Spring在系統運行到適當的時候,將需要的東西主動給我們,同時也把我們交給其他需要我們的東西。
在傳統java開發(fā)中,所有類的創(chuàng)建、銷毀(即對象的生命周期)都由引用它的對象控制,而在Spring中,這一控制權轉移到了Spring容器中。

DI
DI(Dependency Injection, 依賴注入)可以理解為對IoC從另一個角度的描述。
DI的含義即,組件之間的依賴關系是由容器在運行期間決定的,由容器動態(tài)地將某個依賴關系注入到組件之中,即容器動態(tài)地向某個對象提供它所需要的外部資源(對象、資源、常量數據)。

這里所謂的“依賴”,指的就是程序中的對象依賴于IoC容器。

IoC注入的類型
包括三種:構造函數注入、屬性注入和接口注入。
其中,Spring支撐構造函數注入和屬性注入兩種。

構造函數注入:通過調用類的構造函數,將接口實現類通過構造函數變量傳入。這種方法在調用類創(chuàng)建的時候就將接口實現類的依賴傳入。

屬性注入:有選擇地通過setter方法完成調用類所需依賴的注入,而無需在創(chuàng)建類時注入,更加靈活方便。

接口注入:將調用類所有依賴注入的方法抽取到一個接口中,調用類通過實現該借口提供相應的注入方法。通過接口注入需要額外聲明一個接口,增加了類的數目,且其效果與屬性注入無本質區(qū)別,因此不提倡。

通過容器完成依賴關系的注入:由容器完成類的初始化與裝配工作,讓開發(fā)者從底層實現類的實例化、依賴關系裝配等工作中脫離出來,專注于業(yè)務邏輯開發(fā)工作。Spring框架即這樣的容器,它通過配置文件或注解描述類和類之間的依賴關系,自動完成類的初始化和依賴注入工作。

2.AOP面向方面程序設計
AOP概念的學習借鑒了這篇blog:“Spring3: AOP”, http://www.cnblogs.com/xrq730...

AOP可以理解為面向對象編程(OOP)的補充和完善。OOP通過引入封裝、繼承、多態(tài)等概念建立了對象的層次結構,適用于定義對象間的縱向關系。但對于對象的橫向關系的定義,OOP并不適用,因此提出了AOP的概念。

AOP主要關注影響了多個類的公共行為,例如日志代碼、異常處理、安全性等,這類代碼與所對應的對象的核心功能(業(yè)務功能)毫無關系。在OOP中,這類代碼會導致大量冗余,不利于模塊重用。而在AOP中,其使用“橫切”(cross cutting)技術,將這類代碼從原屬的封裝對象中提取出來,封裝到一個可重用模塊中,稱為“Aspect”。這樣的操作降低了模塊間的耦合度,利于操作和維護。

在AOP中,其將軟件系統分為“核心關注點”和“橫切關注點”。其中,“橫切關注點”為橫切出來的aspect,“核心關注點”為然軟件系統的主體業(yè)務代碼。AOP的作用即將二者分離。

對Spring Framework中兩大核心概念的簡答介紹就到這里,下一篇開始正式學習Spring framework的文檔。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72162.html

相關文章

  • Spring框架學習筆記(二):官方文檔Core Technologies - Part 1

    摘要:首先介紹系列文章內容及官方文檔情況。官方文檔中的容器及介紹的容器主要由如下兩個包構成以及。這一接口提供了配置機制以及一些基本的功能。該類以方式描述組成應用的對象以及對象間依賴關系。在文件中,使用對相關元素進行標注,在下一級使用標簽。 首先介紹系列文章內容及Spring Framework官方文檔情況。 在這一系列學習中,我閱讀的主要資源是5.1.2 Reference Doc.,以及論...

    cnio 評論0 收藏0
  • Spring Boot [組件學習-Spring]

    摘要:框架最初是由編寫的,并且年月首次在許可下發(fā)布。在一個方法執(zhí)行之后,只有在方法退出拋出異常時,才能執(zhí)行通知在建議方法調用之前和之后,執(zhí)行通知。方法執(zhí)行之后,不考慮其結果,執(zhí)行通知。 導讀: 在上篇文章的結尾提到了Spring Boot 提供了一系列的框架整合(Starter POMs)幫助我們提升開發(fā)效率,但是這并不意味著我們不需要學習這些框架,反而更需要去學習,通過學習這些框架可以使...

    raoyi 評論0 收藏0
  • Spring入門IOCAOP學習筆記

    摘要:入門和學習筆記概述框架的核心有兩個容器作為超級大工廠,負責管理創(chuàng)建所有的對象,這些對象被稱為。中的一些術語切面切面組織多個,放在切面中定義。 Spring入門IOC和AOP學習筆記 概述 Spring框架的核心有兩個: Spring容器作為超級大工廠,負責管理、創(chuàng)建所有的Java對象,這些Java對象被稱為Bean。 Spring容器管理容器中Bean之間的依賴關系,使用一種叫做依賴...

    wenyiweb 評論0 收藏0
  • Java后端

    摘要:,面向切面編程,中最主要的是用于事務方面的使用。目標達成后還會有去構建微服務,希望大家多多支持。原文地址手把手教程優(yōu)雅的應用四手把手實現后端搭建第四期 SpringMVC 干貨系列:從零搭建 SpringMVC+mybatis(四):Spring 兩大核心之 AOP 學習 | 掘金技術征文 原本地址:SpringMVC 干貨系列:從零搭建 SpringMVC+mybatis(四):Sp...

    joyvw 評論0 收藏0
  • 慕課網_《Spring入門篇》學習總結

    摘要:入門篇學習總結時間年月日星期三說明本文部分內容均來自慕課網。主要的功能是日志記錄,性能統計,安全控制,事務處理,異常處理等等。 《Spring入門篇》學習總結 時間:2017年1月18日星期三說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:https://github.com/zccodere/s...個人學習源碼:https://git...

    Ververica 評論0 收藏0

發(fā)表評論

0條評論

mindwind

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<