在面試中,經常會問到spring相關的問題,bean的作用域及生命週期,aop,ioc等一系列問題,平常開發可能經常用到,今天,總結了一下spring的主要知識點及面試經常遇到的問題。
1:什麼是spring?
2:spring中bean的作用域?
3:spring中bean的生命週期?
4:bean的注入方式有哪些?
5:bean是執行緒安全的嗎?為什麼?
6:談談對aop的理解?
7:談談對ioc的理解?
1:什麼是spring?
spring是輕量級的應用框架,方便我們的開發,可以方便的整合其他框架,方便拓展,事物管理更加的方便,方便解耦。裡面主要包含了ioc和aop,ioc主要用來管理bean,未用spring框架時,需要使用物件的時候,需要手動去new,有了spring框架之後,交給ioc容器管理。aop主要是面向切面程式設計,比如開發中需要經常記錄日誌,很多方法中都需要去寫,這樣與業務**冗餘到一起,不方便開發,使用aop面向切面程式設計,就是將公共的方法提取出來,減少**冗餘。
spring中主要包含了以下六個模組:
spring core:核心類庫,提供ioc服務;
spring aop:aop服務,面向切面程式設計;
spring context:提供框架式的bean訪問方式,以及企業功能(jndi,定時任務等);
spring dao:對jdbc的抽象,簡化了資料訪問異常的處理;
spring orm:對現有orm框架的支援;
spring web:提供了基本的面向web的綜合特性;
spring mvc:提供物件導向web應用的model-view-controller實現
2:spring中bean的作用域?
spring中bean的作用域有五種:分別是singleton、prototype、request、session、global-session。
singleton:預設是單例的,只有乙個bean例項,通過scope屬性設定其他作用域;
prototype:多例的,每次容器呼叫都會產生乙個新的bean例項;
request:每一次http請求都會產生乙個bean例項;
session:每個session中,都會有乙個bean例項;
global-session:全域性的http session。
3:spring中bean的生命週期?
談到了bean的生命週期,先來說下servlet的生命週期,servlet例項化 - 初始化init - 介面呼叫處理service - 銷毀destory。
例項化bean - 設定物件屬性 - 處理aware介面 - 建立成功呼叫 - 銷毀destory。
4:bean的注入方式有哪些?
1)setter方法注入;
2)構造器注入;
3)註解注入。
5:bean是執行緒安全的嗎?為什麼?
spring中的bean預設是單例的,預設的是單例的bean,spring中對bean執行緒安全沒有做特殊的處理,所以說,spring中不能保證bean是執行緒安全的。
6:談談對aop的理解?
spring中的aop即面向切面變成,面向切面程式設計是一種思想,即我們平常在開發中,比如記錄日誌,事物管理等,可能在很多地方都要使用,比如在a方法中記錄日誌,寫了幾行**,可能b方法中,也要使用,這樣就造成了**冗餘,重複**太多,面向切面程式設計的思想,就是將這些方法提取出來,這樣使用起來很方便,在需要的使用該方法的地方即可方便實現,如果有問題,也方便改。不至於每次出錯改很多地方,提高了**的復用性。
7:談談對ioc的理解?
ioc,就是我們經常所說的控制反轉,di,就是依賴注入,這兩個是對同乙個事物從不同角度的解釋。沒有使用spring框架的時候,我們需要使用乙個物件,經常需要自己去手動new,需要自己取管理物件。使用spring的ioc容器之後,物件交給spring的ioc容器管理,bean的建立,初始化,結束,依賴注入等一系列,全部由ioc容器幫我們完成,我們在需要使用的時候,直接呼叫就行了。
spring在工作面試中經常用到,今天總結了部分內容。後面更新其他的內容。知識就是要不斷的學習,不斷的複習,這樣的才能記憶的更加深刻。加油,美好的風景一直在路上。
面試 Spring常見問題總結 03
為了配置自動檢測,需要使用元素。預設情況下,使用構造型注所標註類。這些特殊的註解如下 component 通用構造型註解,標識該類為spring元件 controller 標識將該類定義為springmvc controller respository 標識將該類定義為資料倉儲 service 標識...
面試求職 IT面試常見問題總結
在面試之前多了解一些常見問題對面試的成功起到了很重要的作用,我把一些常見問題總結如下,希望對還在求職中的it人員有所幫助 面試之前請做好準備 1,簡單介紹一下您的情況?2,您怎樣描述自己?3,您為何要選擇我公司?4,您為了這次面試做了哪些準備工作?5,我們為什麼要僱傭您?6,為什麼您要應聘這個職位?...
面試 Redis面試常見問題總結
redis採用的是基於記憶體的採用的是單程序單執行緒模型的kv資料庫,由c語言編寫。官方提供的資料是可以達到100000 的qps。這個資料不比採用單程序多執行緒的同樣基於記憶體的kv資料庫memcached差。redis快的主要原因是 完全基於記憶體 資料結構簡單,對資料操作也簡單 使用多路 i ...