Index
- Spring核心:IOC
- Spring核心:AOP
- @Controllable, @Component, @Service 的使用
- SpringMVC: 如何使用 @RequestMapping炕置,@RequestParams,@RequestVariables
- Spring Redis
- Spring MongoDB
- 如何架構(gòu) Redis session
- 如何架構(gòu)多個(gè)datasource
- 緩存:@Cacheable, @Cacheevict, @Cacheput
- 事務(wù):@Transactional
- SpEL:必須掌握的幾個(gè)要點(diǎn)
- 定時(shí)任務(wù):@Scheduled, 與Quartz
- xxxViewResolvers
- 文件上傳:MultipartResolvers
- Json:jackson與gson
- webService的實(shí)現(xiàn)
- websocket
- 擁抱SpringBoot
- 擁抱SpringCloud
寫在開始:理解Spring的本質(zhì):一個(gè)超級(jí)大容器
Spring學(xué)習(xí)路徑:
- 學(xué)java:是的我不是在搞笑朴摊,很多小白對(duì)java的基本概念都不清楚默垄,包括annoation,反射甚纲,接口
- 學(xué)servlet:重點(diǎn)是servlet的注冊(cè)和使用
- 看Spring官方文檔:當(dāng)然能看得懂整個(gè)文檔的同學(xué)們也就沒必要再往下看了
- 寫web應(yīng)用口锭,從用戶名登錄注冊(cè)開始
Spring是一個(gè)超級(jí)大容器(container),理解這個(gè)很重要介杆。你可以把Spring視作一個(gè)超級(jí)全家桶鹃操,所有系統(tǒng)需要的服務(wù),組件春哨,數(shù)據(jù)對(duì)象荆隘,等等等等,都被一股腦地扔在這個(gè)全家桶里面赴背,并被統(tǒng)稱作Spring beans(豆豆)椰拒。在扔進(jìn)去之前,我們給豆豆們做了一些標(biāo)記(annotation)凰荚,這樣全家桶可以通過這些標(biāo)記把不同的豆豆關(guān)聯(lián)起來燃观。當(dāng)豆豆們相互關(guān)聯(lián)起來之后,就能夠提供不同的功能浇揩,比如網(wǎng)絡(luò)請(qǐng)求響應(yīng)仪壮,數(shù)據(jù)庫訪問憨颠。
Spring中一些常用的概念和術(shù)語:
- Spring beans:Java的實(shí)體類在Spring框架下的稱呼
- POJO:Java實(shí)體類
- context(上下文):例如
void func(){
Object obj; //不嚴(yán)謹(jǐn)?shù)囊粋€(gè)例子
}
這里調(diào)用obj的這個(gè)方法func就是obj的context胳徽,我們也可以說,obj注冊(cè)在這個(gè)context里面(當(dāng)然還有一些不嚴(yán)謹(jǐn)爽彤,因?yàn)檫@里的obj還不能被func以外的方法調(diào)用)养盗。在Spring中,框架能夠索引到不同的beans适篙,依靠的就是SpringApplicationContext往核,所有的beans都注冊(cè)到這個(gè)context中,這樣框架就能夠引用它們嚷节。
從SSH到SMV
Spring+Struts2+Hibernate可能是java培訓(xùn)必點(diǎn)的技術(shù)樹聂儒,沒有之一。這個(gè)框架沒有大的缺陷硫痰,我個(gè)人不推薦的純粹原因是我不是科班出來的衩婚,對(duì)struts和hibernate無感,對(duì)node.js和mongoose反而倍感親切效斑。實(shí)際上當(dāng)我選用Spring+SpringMVC+Mybatis之后非春,這個(gè)框架對(duì)我而言異常的直接。SpringMVC負(fù)責(zé)處理所有的request,用MyBatis和Mapper接口對(duì)數(shù)據(jù)庫進(jìn)行無障礙訪問奇昙,最后用一層View渲染框架輸出網(wǎng)頁护侮,這個(gè)過程不要太流暢了,而且大部分的內(nèi)容都是Spring框架之下储耐,學(xué)習(xí)成本也不高羊初。