Spring包含那些模塊
SpringORM/SpringAOP/SpringIOC/SpringWeb/SpringJDBC/springDao…
比如說像我們的Mybatis框架白翻,要把Mybatis要注入Spring池中,而Spring對他的支持就是
springDao是對jdbctemplet的封裝;
SpringORM關(guān)系對象映射月培,繼承orm框架(Mybatis嘁字、Hibernate)恩急,SpringIOC模塊就是我們將所有是類注入到Spring池中杉畜;
SpringWeb模塊就是,我們?nèi)eb請求的時候在web.xml進行相關(guān)的配置衷恭;
SpringJDBC模塊就是Spring對傳統(tǒng)的JDBC進行一些封裝此叠,一些項目用的是JDBCtemplate就用到了這一塊。
SpringIOC (Spring ioc容器/Spring池思想來自于工廠模式)模塊随珠。SpringIOC 思想來源于23種設(shè)計模式的工廠模式灭袁,因為java是一個面向?qū)ο蟮恼Z言,所以一個對象要調(diào)方法窗看,勢必要創(chuàng)建一個對象茸歧,如果沒有工廠模式,我們就會在A類中調(diào)B類在B類中調(diào)C類显沈。软瞎。這樣就顯示了代碼是低效率逢唤,混亂性,然后前人就設(shè)計出來工廠模式涤浇,在一個Factory類中創(chuàng)建所有 的業(yè)務(wù)對象鳖藕,在這個類中去調(diào)方法,這樣就把所有new對象的過程全部交給了Factory管理只锭,這樣就形成了工廠模式著恩;
SpringAOP模塊。(關(guān)鍵字:1.關(guān)注點蜻展。2.切入點喉誊。3.通知。4.注入)是Spring對AOP做了一些封裝纵顾, AOP的思想就是面向切面編程裹驰,就是在不改變代碼的情況下,在方法執(zhí)行前后或異常的時候進行一個處理片挂,從而實現(xiàn)增加新的功能;舉一個簡單的例子幻林,比如在一個很老的項目中登錄的時候,僅僅驗證了前臺密碼用戶名不能為空音念,但是沒有做后臺的驗證密碼用戶名不能為空沪饺,現(xiàn)在我要添加后臺驗證又不想改變源代碼,我就運用AOP的思想闷愤,在登錄的之前配置切面整葡,驗證數(shù)據(jù)是否合法,合法就提交事務(wù)調(diào)用登錄方法讥脐,否則回滾事務(wù)提示失斣饩印!從Spring的角度看旬渠,AOP最大的用途就在于:
1俱萍、事務(wù)管理的能力(如何配置事務(wù))。事務(wù)管理就是一個關(guān)注點告丢,你的正事就是去訪問數(shù)據(jù)庫枪蘑,而你不想管事務(wù)(太煩),所以岖免,Spring在你訪問數(shù)據(jù)庫之前岳颇,自動幫你開啟事務(wù),當(dāng)你訪問數(shù)據(jù)庫結(jié)束之后颅湘,自動幫你提交/回滾事務(wù)话侧!二、日志 沒有SpringAOP的時候闯参,我在方法執(zhí)行前后添加日志通知瞻鹏。有SpringAOP在執(zhí)行操作方法前開啟事務(wù)調(diào)用方法术羔,之后關(guān)閉事務(wù)方法,有異常記錄通知乙漓;
2级历、Serverce配置事務(wù)通知類型(只列舉一下)
1.在方法執(zhí)行前開啟事務(wù)通知,2.執(zhí)行完畢關(guān)閉事務(wù)叭披,3.異常時我回滾事務(wù)寥殖。