IOC/DI:中文意思控制反轉/依賴注入,針對以前編程,類中的屬性都是寫死的,直接在程序中給成員變量初始化。這樣的編程,耦合度
太高,代碼的靈活性和擴展性太差。spring的處理方式是,在配置文件中,將類中的需要初始化的成員變量羅列出來。在應用程
序啓動的時候,針對配置文件的配置,初始化對象。這些對象默認是Singleton的,保存在容器中(map中)。當類初始化的時
候,從容器中取出。這樣不僅不僅可以節省對象創建的時間,提高了性能。而且,起到了解耦的作用。靈活性更強。
AOP:面向切面編程,是動態代理模式的一個應用。如果想在某個類的方法上,加上一些處理。但是無法直接修改源碼,這個時候,使用
這個編程方式會比較靈活。AOP在spring上的主要應用是聲明式事務管理。
事務:訪問數據庫的一系列操作的集合,這些操作可以是直接dos命令行的sql操作,也可以是程序的一系列數據訪問。
4大特性:ACID。
原子性:要麼全做,要麼全不做。
一致性:例如對兩個賬戶的操作,一個加,一個減,保持總量不變。
隔離性:兩個事務對數據的操作,不會相互影響(這種說法有點不準確,隔離會有個級別,需要根據級別來判斷)。該特性按照我的理解
就是解決了多用戶多線程訪問數據的安全問題。
持久性:數據保存在數據庫中,一旦提交,永久保存。這個特性對於編程感覺不是很重要
配置spring事務的主要屬性包括:事務的傳播特性propagation、隔離性Isolation、readOnly、norollbackfor、
rollbackfor
propagation:no_support、support、require、require_new、nested、never、mantory
Isolation:uncommit、commit、repeated_read、seralize
readOnly:定義一個事務中的操作,是隻讀操作,不會有其他操作,否則報錯。這個屬性的主要意義,視屏中老師說,spring會對被
改屬性修飾的方法,對數據訪問那個conn進行優化。
後面兩個特性:定義事務遇到什麼情況回滾和不回滾,默認是RuntimeException回滾。