框架:
1.是什么:框架就是一套規(guī)范。既然是規(guī)范,你使用這個(gè)框架就要遵守這個(gè)框架所規(guī)定的約束。在Java開(kāi)發(fā)中,框架是用一套規(guī)則 + 一群jar包來(lái)表示的。
內(nèi)容理解:框架是一套規(guī)范。具體到Java,是一套規(guī)則+一群jar包。
2.為什么:我們?yōu)槭裁匆褂每蚣埽?/p>
(1)原因:在我們的開(kāi)發(fā)中,如果一個(gè)類(lèi)的名字,A同學(xué)起名字叫A.java ?B同學(xué)起名教B.java,可是其實(shí)這兩個(gè)類(lèi)的功能是一樣的,但是就是因?yàn)闆](méi)有規(guī)范,所以造成了混亂,不利于團(tuán)隊(duì)合作與開(kāi)發(fā),如果使用了框架,框架就會(huì)對(duì)類(lèi)的名字有約束,比如Struts,控制類(lèi)我們都起名字叫**Action 這樣很容易讓人看明白功能。
(2)意義:框架不僅僅只完成這些簡(jiǎn)單的約束,更重要的是,框架為我們封裝好了一些冗余,且重用率低的代碼。并且使用反射與動(dòng)態(tài)代理機(jī)制,將代碼實(shí)現(xiàn)了通用性。比如如果你說(shuō)servlet開(kāi)發(fā),你需要在servlet獲取表單的參數(shù),每次都要獲取很麻煩,而struts底層就使用反射機(jī)制和攔截器機(jī)制幫助我們獲取表單的值,我們就不用每次都手寫(xiě)那些代碼了,簡(jiǎn)化了開(kāi)發(fā),當(dāng)然你必須遵守一些規(guī)定來(lái)配置。還有比如hibernate,它提供了一些通用性很強(qiáng)的對(duì)數(shù)據(jù)庫(kù)的增刪改差,如果你使用jdbc每次做一些簡(jiǎn)單的crud的時(shí)候都必須寫(xiě)sql,但使用hibernate就不需要這么麻煩了,直接save,update就可以了。。。當(dāng)然,你還是要遵循其一些規(guī)范而配置。同理spring也是如此。
內(nèi)容理解:框架提供了一些現(xiàn)成的機(jī)制,框架為我們封裝好了一些冗余,框架使用反射與動(dòng)態(tài)代理機(jī)制,實(shí)現(xiàn)了代碼的通用性。
3.怎么使用 :剛才說(shuō)了,框架在java中是通過(guò)jar體現(xiàn)的。首先你需要把jar導(dǎo)入,才可以使用其“規(guī)定”。再根據(jù)具體jar包,具體使用。
內(nèi)容理解:根據(jù)實(shí)際jar包使用。
4.框架的好處和缺點(diǎn):框架的好處已經(jīng)說(shuō)了很多了,便于團(tuán)隊(duì)開(kāi)發(fā),提供了一些現(xiàn)成的機(jī)制,簡(jiǎn)化開(kāi)發(fā)難度,還有些框架可以解耦等,比如spring。缺點(diǎn)就是效率上沒(méi)有servlet開(kāi)發(fā)高,但是隨著硬件的提高,這些也不是什么問(wèn)題。差異不大,其實(shí)如果要求效率的話,servlet+jdbc是最好的,但多方面考慮的話,使用框架更好。
內(nèi)容理解:優(yōu)點(diǎn):協(xié)作,利用現(xiàn)有機(jī)制,解耦。缺點(diǎn):效率降低,但隨著硬件提高,將不是問(wèn)題。
5.輕量級(jí) Java Web 框架架構(gòu)設(shè)計(jì)
內(nèi)容理解:很實(shí)用的框架構(gòu)思,對(duì)于學(xué)習(xí)框架知識(shí)有幫助。