Spring框架面試題

2021-08-14 06:03:30 字數 2185 閱讀 6809

用動態**和cglib實現,有介面的用動態**,無介面的用cglib

(spring

充當了管理容器的角色,)為大部分框架提供模板,給常見的核心類提供初始化,並且整合三層框架

內部用hashmap實現

ioc是一種控制反轉的思想,降低了物件的耦合度,

aop是面向切面程式設計,(非侵入式程式設計),用來實現非業務性程式設計(公共功能),譬如日誌,許可權,事務等等

spring裡面的事務分為程式設計式事務和宣告式事務,一般用宣告式事務,用來控制資料操作的完整性,一致性

ioc容器管理各層的元件

使用aop配置宣告式事務

整合其它框架

ioc主要用來解決物件之間的依賴問題,把所有的bean的依賴關係通過配置檔案或者註解關聯起來,降低了耦合度,aop一般用來(操作)事務

工廠模式à每個bean的建立通過方法

單例模式à預設的每個bean的作用域都是單例

**模式à關於aop的實現是通過**,體現**模式

scope作用域有4中,常見的有單例或者多例,預設是單例

xml,因為它是最簡單最流行的資料格式

bean的管理,aop技術,ioc技術,事務等

降低物件耦合度,讓**更加清晰,提供一些常見的模版

1)bean的標記註解

@component通用註解@repository持久層註解 @service 業務層註解 @controller表現出註解

2)bean的自動裝配註解

@autowird預設是按照型別裝配,如果有多個型別需要實現,可以用qualifier來指定名稱

@resource預設是按照名稱來裝配,是jdk裡面自帶的註解,預設情況下用@autowird註解

寫過前置通知,後置通知的方法,環繞通知,事務就是典型的aop的實現

和struts2整合的時候,和hibernate整合的時候都可以用到,事務用的最多,還有個別日誌,許可權功能也可以用到

七大傳播屬性,四大隔離級別

在業務層加個事務控制, (以及各個框架中的核心類的初始化)

對資料庫執行多步操作時,其中一步出現資料異常,執行回滾

介面注入,一般用@resource@autowird

通過反射機制生成想要的物件注入到元件中

(這個是在ssh整合的時候使用),

spring核心***是整個web專案啟動的時候,用來初始化spring容器,

具體是在web.xml裡面配置的contextloaderlistener

配置檔案耦合度低,容易維護,尤其是在切面或者事務的時候,只配置一次就可以讓很多**擁有事務

spring的事務提供了統一的事務處理機制,包含了jdbc,hibernate,ibatis等事務實現,而hibernate只處理自己的是

先啟動***,因為先要初始化容器,,初始化容器了以後action才能從容器裡面獲得

宣告式事務和程式設計式事務,我們一般用宣告式事務

我們可以寫乙個hashmap,如果併發考慮的話要寫併發的map,把bean的名字放在map的key,bean的實現放在map的value

ioc用反射實現,aop用動態**實現

hibernate的事務只能手動顯示**的方式控制建立事務與提交事務以及回滾

spring可以通過配置檔案設定一類class事務的建立、提交以及回滾,也可以顯示**方式控制

七大事務傳播常用的有兩個,required, required_new

required表示兩個事務的方法呼叫的時候,前面的事務和後面的合併成乙個事務,

required_new是重啟乙個事務,各幹各的

前者用required_new,後者用required

事務併發會引起髒讀,幻讀,不可重複讀等問題,設定事務的隔離級別就可以解決問題

spring定義有四種,但是常見的是read_commit

oralce有兩種,

mysql有四種

ioc(inversion of control ) 對bean的控制能力更強,能控制物件自動注入和生命週期,而工廠類只是簡單的建立乙個物件,沒有什麼控制能力

鎖有悲觀鎖和樂觀鎖,悲觀鎖一般假設每個人都會修改資料,預設情況下把資料都鎖住,影響效能,但安全性高

樂觀鎖是假設每個人都唯讀一下資料,不會修改資料,效能較高但安全性低,一般通過增加型別於版本控制裡面的版本號來解決安全性問題

beanfactory是spring容器頂級核心介面,出現較早,但功能少

spring面試題目

目錄 一 spring mvc工作原理二 為什麼要用spring 1 spring能很好的與各大框架進行整合 2 建立物件時,如果我們不用spring需要用工廠模式來建立,這個spring相當於工廠模式已經幫我們做了建立物件的功能 ioc 依賴注入 3 在用hibernate的時候,如果不用spri...

Spring面試題分享

1.下面關於 依賴注入 的說法,錯誤的是 d a.將元件間的依賴關係採取配置檔案的方式管理,而不是硬編碼在 中 b.降低了元件間的耦合,使程式更容易維護和公升級 c.促進了 面向介面程式設計 使構建大規模程式更輕鬆 d.需要定義大量介面,增加編碼複雜度 2.關於spring說法錯誤的是 b a.sp...

Spring面試題總結

自動裝配沒有自定義裝配方式那麼精確,而且不能自動裝配簡單屬性 基本型別 字串等 在使用時應注意。在spring的早期版本中,僅有兩個作用域 singleton和prototype,前者表示bean以單例的方式存在,ioc容器建立時就建立 後者表示ioc容器建立時不建立,在每次從容器中呼叫bean時,...