ioc和aop是spring的兩大核心,面試的時候也經常被問及對這兩個概念的理解,因此也記下我對此的理解,方便以後查漏補缺。
一、控制反轉(ioc, inversion of controll)
所謂控制反轉,即由spring來負責控制物件的生命週期和物件間的相互關係。通常,在實現乙個業務邏輯時需要多個物件相互協作來完成,每個物件在使用它的協作物件時都要通過new obeject()的方式來建立,這樣加大了物件間的耦合程度。
而ioc則是:對這些相互依賴物件的建立和協調工作都交由spring容器來實現,當某個物件需要其他協作物件時,由spring動態的通過依賴注入(di, dependency injection)的方式來提供協作物件,其只需要關注業務本身的邏輯即可。
二、面向切面程式設計(aop, aspect oriented programming)
說到aop就不得不先說一下oop(object oriented programming, 物件導向程式設計),oop引入封裝、繼承、多型等概念建立一種縱向的開發方式,而aop則是建立了一種橫向的開發方式。對於如許可權認證、日誌、事務等幾乎業務功能都需要的功能,若採用oop的設計則會產生大量的重複**,不利於各模組的重用。
說說對jsx的理解
pp 而在react中,var a react.createelement a pp 第乙個引數 為元素節點 二 為物件,dom屬性 三 文字 如上看起來要比原生的簡潔很多,但是可讀性不好,於是發明了jsx 利用我們熟悉的html語法來建立元素。之後jsx通過翻譯器轉換到純js再由瀏覽器執行。jsx...
iOS 根據自己專案 說說對xml解析的理解
做了將近三個月的公司專案了,每天接觸到最多的就是xml,可能專案目標客戶的原因,我一點也摸不到json資料,真是羨慕你們吶,好了,回歸正題。關於解析xml的前期環境配置工作我就不多說啦,今天主要聊一下動態的去解析xml,根據獲得動態xml的內容,來為布置ui做準備。我自己喜歡的解析方式就是xpath...
Spring控制反轉 IoC 的理解
spring框架的核心就是控制反轉 inversion of control 和依賴注入 dependency injection 通過這兩方面來實現松耦合。使用ioc,物件是被動的接受依賴類,而不是自己主動的去找。容器在例項化的時候主動將它的依賴類注入給它。可以這樣理解 控制反轉將類的主動權轉移到...