spring的核心 ioc和aop
ioc的乙個重點是在系統執行中動態的向某一物件提供所需要的的物件.這一點需要di的實現,比如物件a需要運算元據庫,以前我們需要編寫**connection 物件,有了spring我們可以直接告訴他,a需要的connection可以在適當的時候直接建立,再注入到a中.
ioc的工作原理
ioc(inverse of controller) 控制翻轉 di(dependency injection) 依賴注入 是一回事,只不過說的方面不同,ioc講的是控制關係的轉換,以前物件的賦值是由物件自己實現的,現在通過spring利用反射機制來實現.
依賴注入的方法有什麼
setter注入:通過反射呼叫setter方法
構造器方法:通過反射呼叫構造方法
介面注入: 通過介面呼叫介面中的普通方法
spring的aop 使用了aspectj框架
說說什麼是aop,aop的好處,動態**怎麼理解
aop (aspect oriented programming) 面向切面程式設計
aop的核心是實現動態**,平常我們常見的是jdk使用innvocationhandle實現,還可以使用cglib來實現.hibernate和spring使用了cglib提供的實現.
動態**實際上的意思是:動態生成**類,這樣我們可以控制**類的**.**類的方法都會呼叫 invacationhandle介面中的invoke方法,這樣的話,我們只要呼叫**物件的方法,就會統一跑到invoke方法,然後我們可以在invoke方法對所有的方法做統一的預處理
aop面向切面程式設計,是更高的程式設計思想,oop側重物件的封裝和提取,aop側重方面元件,可以理解為封裝了通用功能元件
spring的通知型別
前置通知 後置通知 環繞通知 異常通知 環繞通知
spring的核心類
singleton prototype request session global session
spring的事務管理
程式設計式事務管理 plantformtransactionmanager 這是乙個spring 提供的用於事務管理的基礎介面,其下有乙個實現的抽象類abstractplantformtransactionnmanage,transactiondefinition 事務屬性定義和transactionstatus
代表當前事務可以提交回滾
宣告式事務管理
required–支援當前事務,如果當前沒有事務,就新建事務
required_new–新建事務,如果當前存在事務,把當前事務掛起
supports–支援當前事務,如果當前沒有事務,就以非事務方式執行
not_supports–以非事務方式執行操作,如果當前存在事務就把事務掛起
mandatory–支援當前事務,如果當前沒有事務,就丟擲異常
never–以非事務方式執行,如果存在事務,則丟擲異常
nested–如果當前存在事務,則在巢狀事務內執行.如果當前沒有事務,則進行與required類似的操作
Spring面試基礎題
1.你有沒有用過spring的aop?是來幹嘛的?大概會怎麼使用?答 1 有 2 用來實現橫切關注點與他們所影響的物件之間的解耦 橫切關注點 橫切關注點是散布於應用中多處的功能。橫切關注點是與應用的業務邏輯相分離的,往往會直接嵌入到應用的業務邏輯之中 2.如果1個介面有2個不同的實現,那麼怎麼來au...
基礎 Spring 基礎面試題
bean 的配置方式 通過構造器或工廠方法建立 bean 例項 為 bean 的屬性設定值和對其他 bean 的引用 將 bean 實 例 傳 遞 給 bean 後 置 處 理 器 的postprocessbeforeinitialization方法 呼叫 bean 的初始化方法 init meth...
spring面試大全
四 spring如何建立乙個資料連線池 五 在spring框架中如何更加高效的使用jdbc 使用spring框架提供的模板類jdbctemplete可以是jdbc更加高效 如下 jdbctemplate template new jdbctemplate mydatasource dao類的例子 p...