1. 程式人生 > >什麼是spring,談談你對spring的理解5

什麼是spring,談談你對spring的理解5

1.首先Spring是一個開源的框架,Spring為簡化企業級應用開發而生,使用Spring可以使簡單的JavaBean實現以前只有EJB才能實現的功能。Spring是一個IOC和AOP容器框架。

java開發領域,Spring相對於EJB來說是一種輕量級的,非侵入性的Java開發框架。

Spring主要核心是:

(1).控制反轉(IOC):以前傳統的java開發模式中,當需要一個物件時我們,我們會自己使用new或者getInstance等直接或者間接呼叫構造方法建立一個物件,而在Spring開發模式中,Spring容器使用了工廠模式為我們建立了所需要的物件,我們使用時不需要自己去建立,直接呼叫Spring為我們提供的物件即可,這就是控制反轉的思想。例項化一個java物件有三種方式:使用類構造器,使用靜態工廠方法,使用例項工廠方法,當使用spring時我們就不需要關心通過何種方式例項化一個物件,spring通過控制反轉機制自動為我們例項化一個物件。

(2).依賴注入(DI):Spring使用java Bean物件的Set方法或者帶引數的構造方法為我們在建立所需物件時將其屬性自動設定所需要的值的過程就是依賴注入的基本思想。

(3).面向切面程式設計(AOP):在面向物件程式設計(OOP)思想中,我們將事物縱向抽象成一個個的物件。而在面向切面程式設計中,我們將一個個物件某些類似的方面橫向抽象成一個切面,對這個切面進行一些如許可權驗證,事物管理,記錄日誌等公用操作處理的過程就是面向切面程式設計的思想。

2.Spring中,所有管理的物件都是JavaBean物件,而BeanFactoryApplicationContext就是spring框架的兩個

IOC容器,現在一般使用ApplicationnContext,其不但包含了BeanFactory的作用,同時還進行更多的擴充套件。

如果覺得我的文章或者程式碼對您有幫助,可以微信打賞請我喝杯咖啡。 
您的支援將鼓勵我繼續創作!謝謝! 


相關推薦

什麼是spring談談spring理解5

1.首先Spring是一個開源的框架,Spring為簡化企業級應用開發而生,使用Spring可以使簡單的JavaBean實現以前只有EJB才能實現的功能。Spring是一個IOC和AOP容器框架。 在

談談Spring理解?

1.什麼是Spring? Spring是一個開源的輕量級的應用開發框架,其目的是用於簡化企業級應用開發,降低程式碼的侵入性和耦合度。 Spring提供的IOC和AOP功能,可以將容器內的元件耦合度降低至最低,即解耦,為將來的工程程式碼的維護提供了方便。 Spring為系統提供了一個整

面試題談談spring理解

1、spring為什麼出現。            spring的出現是為了解耦,我們在學習java初期,相信很多小夥伴都使用的是JSP+Servlet+MySQL+JDBC技術,在

談談Spring理解

只想用簡單的語言表達最真誠的答案----此處不放程式碼      1、spring為什麼出現?     spring的出現是為了解耦,我們在學習java初期,相信很多小夥伴都使用的是JSP+Serv

結合硬體的發展史談談計算機硬體發展趨勢的看法?

電子管計算機(1946年2月15日,世界上第一臺通用電子數字計算機“埃尼阿克”(ENIAC)在美國研製成功。它當時由1.8萬個電子管組成,是一臺又大又笨重的機器,體重達30多噸,佔地有兩三間教室般大。它當時的運算速度為每秒5000次加法運算。這在當時是相當了不起的成就。) --->電晶體計算機(19

談談Spring IOC的理解

反轉 頻率 註解 改變 enc encoding 圖1 1.3 ram 轉自京東開濤大神的微博,這是我看過最好的對IOC DI的解釋. 學習過Spring框架的人一定都會聽過Spring的IoC(控制反轉) 、DI(依賴註入)這兩個概念,對於初學Spring的人來說,總

談談CountDownLatch的理解(不看後悔一看必懂)

CountDownLatch是java.util.concurrent包中一個工具類。它能夠使一個或者多個執行緒等待另外一些執行緒完成各自的工作之後,再繼續執行 使用CountDownLatch的一些情景: ①需要去解析一個Excel的資料,為了更快的解析,每個sheet都使用一個執行緒

談談AtomicInteger的理解(不看後悔看了必懂)

AtomicInteger是一個提供原子操作的Integer類,通過執行緒安全的方式操作加減。十分適合高併發情況下的使用   對於全域性變數的數值型別操作 num++,若沒有加synchronized關鍵字則是執行緒不安全的,num++解析為num=num+1,明顯,這個操作不

清晰解題: 談談 HashMap ConcurrentHashMap 的理解

參考文章: JAVA 面試的暖場題 Java 開發中用的比較多的資料結構是有哪些? 如果答案中包含了 HashMap, 那很自然地引到下一個問題 談談你對 HashMap 的理解, 底層的基本實現。 HashMap 是計算機資料結構雜湊表 ( hash

談談Spring IOC與DI的理解

IOC是一種叫做“控制反轉”的設計思想。 1、較淺的層次——從名字上解析 “控制”就是指對 物件的建立、維護、銷燬等生命週期的控制,這個過程一般是由我們的程式去主動控制的,如使用new關鍵字去建立一

談談個人Spring理解

現在開始將會把我面試中遇到的問題做一個總結每一條問題作為一篇簡短的部落格敘述. 1.你對spring的理解是什麼? 答: spring: 1)開源框架 2)IoC(控制反轉),將類的建立和依賴關係寫在配置檔案裡,由配置檔案注入,實現了鬆耦合 3)AOP 將安全,事務

怎麼回答面試官:Spring理解

spring呢,是pivotal公司維護的一系列開源工具的總稱,最為人所知的是spring mvc,事實上,他們都是基於spring framework,並且再其上繼續增強,為某一方面服務的java元件。最近spring framework 剛升級到5,非常不錯。比較常見的有

談談Hibernate的理解

其他 onf 數據庫 配置數據庫連接 hql 通過 成就 建立 span 答: 1. 面向對象設計的軟件內部運行過程可以理解成就是在不斷創建各種新對象、建立對象之間的關系,調用對象的方法來改變各個對象的狀態和對象消亡的過程,不管程序運行的過程和操作怎麽樣,本質上都是要得到一

面試:談談jQuery的理解

設計 asc pro target css 輕量 動態 fadeout 大量 jQuery是一個輕量級的javascript框架,極大的簡化了js的編程。 1.首先jQuery提供了強大的元素選擇器。用於獲取html頁面中封裝了html元素的jQuery對象。像常見的選擇器

談談閉包的理解

編寫 中一 特殊情況 python 向上 分享 使用 運行 兩種方法 請大家跟我理解一下,如果在一個函數的內部定義了另一個函數,外部的我們叫他外函數,內部的我們叫他內函數。 閉包:   在一個外函數中定義了一個內函數,內函數裏運用了外函數的臨時變量,並且外函數的返回值是內

談談web的理解

web標準是由一系列標準組合而成的,頁面有三個部分組成:結構,表現和行為。因而web標準即由結構化標準語言主要有 xml和xhtml,表現標準語言css,行為標準主要包括物件模型(如W3C DOM)、ECMAScript等。 其中行為標準語言DOM是Document Object Model文件

面試題:談談vuex的理解

當面試官問我們對vuex的理解的時候,我們不能只說“vuex是一個專為vue.js應用程式開發的狀態管理模式”,儘量不要讓面試官連續追問(總會問到自己不會的然後說你實力還差那麼點來可以得降薪),應該從三個方面一次性去說清楚: 1.vuex是什麼? 2.為什麼要用vuex? 3.vuex的核心概念;

大白話聊聊Java併發面試問題之談談AQS的理解?【石杉的架構筆記】

歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至週五早8點半!精品技術文章準時送上! 一、寫在前面 上一篇文章聊了一下java併發中常用的原子類的原理和Java 8的優化,具體請參見文章:大白話聊聊Java併發面試問題之Java 8如何優化CAS效能?。 這篇文章,我們來聊聊面試的時

面試:談談大資料的理解

大資料概念:   大資料(big data):指無法在一定時間範圍內用常規軟體工具進行捕捉、管理和處理的資料集合,            是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的資訊資產。   主要解決:海量資料的儲存和海量資料的分析計算問題。 大資料的

面試:談談大數據的理解

輸入輸出 value 計算 nbsp 駕駛 資產 增長率 音頻 個人 大數據概念:   大數據(big data):指無法在一定時間範圍內用常規軟件工具進行捕捉、管理和處理的數據集合,            是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海