最最基礎的Spring知識點小複習

2021-10-11 02:08:35 字數 2853 閱讀 1484

目錄

1.spring的兩個核心是什麼?

2.ioc實現的兩種方式是什麼?

3.bean管理的兩個操作是什麼?

4.bean管理的兩個操作的實現方式有哪些?

5.如何用xml方式建立物件?

6.如何用xml方式為物件注入常見的屬性?

方式1:set注入

方式2:有參構造注入

7.如何用xml方式為物件注入特殊型別的屬性?

1.注入外部bean

2.注入陣列、list、map

8.spring的bean有哪兩種型別?

9.bean的作用域常見的有哪些?

10.bean的生命週期?

11.什麼是註解?

12.如何用註解方式建立物件?

13.如何用註解方式注入屬性?

14.aop有哪些概念?

15.什麼是jdbctemplate?

16.如何使用jdbctemplate運算元據庫?

17.什麼是事務?

18.宣告式事務是如何建立的?

19.常見的事務傳播行為propagation有哪些?

20.事務的3個讀問題是什麼?

21.解決讀問題,需要設定事務隔離級別。都有哪些隔離級別?

建立物件、注入屬性

在xml中,使用bean標籤,裡面id:唯一標識  class:類路徑

1. 在類中新增set方法

2. 在xml中,使用property標籤,裡面name:屬性名  value:注入的屬性值

1. 在類中新增有參構造方法

2. 在xml中,使用constructor-arg標籤,裡面name:屬性名  value:注入的屬性值

在xml中,property標籤,裡面name:屬性名  ref:外部bean的id

在xml中,property標籤,裡面name:屬性名  再新增各自的標籤注入值

普通bean:返回型別就是xml中定義的bean型別

工廠bean:返回型別可以和xml中定義的bean型別不一樣 。建立類,實現factorybean。在實現方法中定義返回的型別      

單例:在bean標籤裡設定scope="singleton"。在載入spring配置檔案時就會建立單例項物件。

多例:在bean標籤裡設定scope="prototype"。不在載入配置檔案時建立,而是在呼叫getbean方法時建立多例項物件。

1. 執行無參構造,建立bean例項

2. 呼叫set方法,設定bean的屬性值

3. 執行bean的初始化方法

4. 獲取bean的例項物件

5. 執行bean的銷毀方法

是**的特殊標記,能簡化xml配置。作用在類上面、方法上面、屬性上面。

格式:@註解名稱(屬性名=屬性值,屬性名=屬性值...)

建立bean例項的註解主要有:@component、@service、@controller、@repository

1. 引入依賴

2. 開啟元件掃瞄context:component-scan

3. 建立類,在類上面新增建立物件的註解 @component(value=「預設值是類名稱首字母小寫」)

方式1:@autowired 根據型別進行注入

方式2:@qualifier(value="名稱") 根據名稱進行注入。和@autowired搭配使用

方式3:@resource @resource(name="名稱") 可以根據型別注入,也可以根據名稱注入

方式4:@value(value="普通型別") 注入普通型別屬性

連線點:類裡面哪些方法可以被增強

切入點:實際被真正增強的方法

通知:(增強)。實際增強的邏輯部分

切面:是動作。把通知應用到切入點的過程

spring對jdbc進行封裝,使用jdbctemplate實現對資料庫的操作

1.根據資料庫建立實體類

2.編寫dao介面,列出方法

3.編寫dao介面的實現類,實現方法

1. 注入jdbctemplate

2. 重寫方法:建立sql語句

如果是添刪改:int jdbctemplate(sql,args) args是sql中?的內容

如果是查: jdbctemplate(sql,返回型別)

如果要實現批量操作:jdbctemplate.batchupdate

一組操作,如果有乙個失敗了,所有操作都失敗。比如銀行轉賬

一般在service層

特性:原子性、一致性、隔離性、永久性

步驟:1.開啟事務 2.進行業務操作 3.沒有發生異常就提交事務 4.出現異常,事務回滾

方式:程式設計式事務、宣告式事務(常用)

1. 在配置檔案中配置事務管理器

2. 在配置檔案中開啟事務註解

3. 在service類上面,或者service類裡面的方法上面,新增事務註解@transactional

1. required:如果有事務在執行,當前方法就在這個事務內執行。否則建立乙個新事務,在它自己的事務內執行

2. required_new:當前方法必須建立乙個新事務,在它自己的事務內執行

1. 髒讀:1個未提交事務,讀取到另1個未提交事務的修改資料

2. 不可重複讀:1個未提交事務,讀取到另1個提交事務的修改資料。導致1個事務兩次讀到的同乙個屬性的值不一樣

3. 幻讀:1個未提交事務,讀取到另1個提交事務的新添資料。導致1個事務兩次讀到的記錄數不一樣

C 最最基礎知識點

還在不斷學習更新完善中 因為最開始入門的語言是python學到裝飾器那一部分後放慢了速度開始學c 因為想打比賽。所以包括我以後的部落格都會預設把c 和python 異同進行比較。對我個人而言c 更多用於比賽 而我會一直繼續學習python。c 不同於python 格式相對較嚴格一般沒行末尾需帶 另外...

java 基礎複習 小知識點

2014年6月 11日 星期三 byte s 4 s s 4 編譯失敗 原因 它進行兩步操作,先運算後賦值,s 會被提公升為 int型別,運算的結果還是 int型別無法賦值給 short型別 s 4 編譯成功 原因 它進行一次賦值操作,在給s 賦值自動完成了強轉操作。2 異或 兩邊相同為 false...

spring 知識點梳理

1.spring預設所有管理的bean都是單例模式 懶載入,所有的bean都是交給spring容器中的map管理,生命週期與spring相同,如果使用多例模式,bean則是交給記憶體管理,生命週期與spring無關 2.ssm分層 控制層 服務層 資料層 對應的註解分別為 controller se...