如何學(xué)習(xí)java框架
如何學(xué)習(xí)java框架
Java是世界第一編程語(yǔ)言,這已經(jīng)達(dá)成共識(shí),是毋庸置疑的真理??蚣苁浅绦騿T們必學(xué)的知識(shí)點(diǎn),而且是十分重要的應(yīng)用,下面學(xué)習(xí)啦小編為你整理了學(xué)習(xí)java框架方法,希望對(duì)你有幫助。
學(xué)習(xí)java框架方法
*第一階段:Java基礎(chǔ),包括java語(yǔ)法,面向?qū)ο筇卣?,常?jiàn)API,集合框架;
*第二階段:java界面編程,包括AWT,事件機(jī)制,SWING,這個(gè)部分也可以跳過(guò),用的時(shí)候再看都能來(lái)及;
*第三階段:javaAPI:輸入輸出,多線程,網(wǎng)絡(luò)編程,反射注解等,java的精華部分;
*第四階段:數(shù)據(jù)庫(kù)SQL基礎(chǔ),包括增刪改查操作以及多表查詢;
*第五階段:JDBC編程:包括JDBC原理,JDBC連接庫(kù),JDBCAPI,雖然現(xiàn)在Hibernate比JDBC要方便許多,但是JDBC技術(shù)仍然在使用,JDBC思想尤為重要;
*第六階段:JDBC深入理解高級(jí)特性:包括數(shù)據(jù)庫(kù)連接池,存儲(chǔ)過(guò)程,觸發(fā)器,CRM思想;
*第七階段:HTML語(yǔ)言學(xué)習(xí),包括HTML標(biāo)簽,表單標(biāo)簽以及CSS,這是Web應(yīng)用開(kāi)發(fā)的基礎(chǔ);
*第八階段:JavaScript腳本語(yǔ)言,包括javaScript語(yǔ)法和對(duì)象,就這兩個(gè)方面的內(nèi)容;
*第九階段:DOM編程,包括DOM原理,常用的DOM元素以及比較重要的DOM編程思想;
*第十階段:Servlet開(kāi)發(fā),從此開(kāi)始踏入java開(kāi)發(fā)的重要一步,包括XML,Tomcat服務(wù)器的安裝使用操作,HTTP協(xié)議簡(jiǎn)單理解,ServletAPI等,這個(gè)是javaweb開(kāi)發(fā)的基礎(chǔ);
*第十一階段:JSP開(kāi)發(fā):JSP語(yǔ)法和標(biāo)簽,自定義標(biāo)簽,EL,JSTL庫(kù)了解以及MVC三層架構(gòu)的設(shè)計(jì)模式理念;
*第十二階段:AJAX開(kāi)發(fā):AJAX原理,請(qǐng)求響應(yīng)處理,AJAX開(kāi)發(fā)庫(kù);
*第十三階段:輕量級(jí)框架,三大框架之一Struts框架的學(xué)習(xí),自此踏入javaweb開(kāi)發(fā)的精華部分,包括Struts體系架構(gòu),各種組件,標(biāo)簽庫(kù)和擴(kuò)展性的學(xué)習(xí);
*第十四階段:Hibernate框架學(xué)習(xí),三大框架之一,包括檢索映射技術(shù),多表查詢技術(shù),緩存技術(shù)以及性能方面的優(yōu)化;
*第十五階段:Spring框架的學(xué)習(xí),三大框架之一,包括了IOC,AOP,DataSource,事務(wù),SSH集成以及JPA集成;
Java三大框架
一 .Struts框架:struts是開(kāi)源軟件。使用Struts的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計(jì)模型來(lái)開(kāi)發(fā)Web應(yīng)用的時(shí)間。如果我們想混合使用Servlets和JSP的優(yōu)點(diǎn)來(lái)建立可擴(kuò)展的應(yīng)用,struts是一個(gè)不錯(cuò)的選擇。
1.流程:服務(wù)器啟動(dòng)后,根據(jù)web.xml加載ActionServlet讀取struts-config.xml文件內(nèi)容到內(nèi)存。
2.框架:Struts對(duì)Model,View和Controller都提供了對(duì)應(yīng)的組件。ActionServlet,這個(gè)類是Struts的核心控制器,負(fù)責(zé)攔截來(lái)自用戶的請(qǐng)求。
Model部分:由JavaBean組成,ActionForm用于封裝用戶的請(qǐng)求參數(shù),封裝成ActionForm對(duì)象,該對(duì)象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionFrom里面的請(qǐng)求參數(shù)處理用戶的請(qǐng)求。JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫(kù)訪問(wèn)等。
View部分:該部分采用JSP實(shí)現(xiàn)。Struts提供了豐富的標(biāo)簽庫(kù),通過(guò)標(biāo)簽庫(kù)可以減少腳本的使用,自定義的標(biāo)簽庫(kù)可以實(shí)現(xiàn)與Model的有效交互,并增加了現(xiàn)實(shí)功能。對(duì)應(yīng)上圖的JSP部分。
Controller組件:Controller組件有兩個(gè)部分組成——系統(tǒng)核心控制器,業(yè)務(wù)邏輯控制器。系統(tǒng)核心控制器,對(duì)應(yīng)上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標(biāo)注的Servlet。該控制器負(fù)責(zé)攔截所有的HTTP請(qǐng)求,然后根據(jù)用戶請(qǐng)求決定是否要轉(zhuǎn)給業(yè)務(wù)邏輯控制器。業(yè)務(wù)邏輯控制器,負(fù)責(zé)處理用戶請(qǐng)求,本身不具備處理能力,而是調(diào)用Model來(lái)完成處理。對(duì)應(yīng)Action部分。
二.Spring框架
Spring是一個(gè)解決了許多在J2EE開(kāi)發(fā)中常見(jiàn)的的問(wèn)題的強(qiáng)大框架。Springle提供了管理業(yè)務(wù)對(duì)象的一致方法并且鼓勵(lì)了注入對(duì)接口編程而不是對(duì)類變成的好習(xí)慣。Spring的架構(gòu)基礎(chǔ)是基于使用JavaBean屬性的Inversion of Control 容器。然而Spring在使用IoC容器作為構(gòu)建玩關(guān)注所有架構(gòu)層層的完整解決方案方面是獨(dú)一無(wú)二的。Spring提供了唯一的數(shù)據(jù)管理抽象包括簡(jiǎn)單和有效率的JDBC框架,極大的改進(jìn)了效率并且減少了可能的錯(cuò)誤。Spring的數(shù)據(jù)訪問(wèn)架構(gòu)還集成了Hibernate和其他O/R mapping 解決方案。
三.Hibernate框架
Hibernate 是一個(gè)開(kāi)源代碼的對(duì)象關(guān)系映射框架,對(duì)JDBC驚醒了費(fèi)城輕量級(jí)的的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象變成思維來(lái)操作數(shù)據(jù)庫(kù)。Hebernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用最具革命意義的事,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任
Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五個(gè)核心接口分別加以介紹。
1.Session接口:負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見(jiàn)的SQL語(yǔ)句。)。但需要注意的是Session對(duì)象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語(yǔ)時(shí),其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSession對(duì)象稱為用戶session。
2.SessionFactory接口:負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),可以為每個(gè)數(shù)據(jù)庫(kù)指定一個(gè)SessionFactory。
3.Configuration接口:負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建SessionFactory對(duì)象。在Hibernate的啟動(dòng)的過(guò)程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對(duì)象。
4.Transaction接口:負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開(kāi)發(fā)人員也可以設(shè)計(jì)編寫(xiě)自己的底層事務(wù)處理代碼。
5.Query和Criteria接口:負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫(kù)查詢。它可以使用HQL語(yǔ)言或SQL語(yǔ)句兩種表達(dá)方式。
JAVA開(kāi)源緩存框架介紹
OSCacheOSCache
OSCacheOSCache是個(gè)一個(gè)廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何Java應(yīng)用程序的普通的緩存解決方案。 OSCache有以下特點(diǎn):緩存任何對(duì)象,你可以不受限制的緩存部分jsp頁(yè)面或HTTP請(qǐng)求,任何java對(duì)象都可以緩存。擁有全面的API--OSCache API給你全面的程序來(lái)控制所有的OSCache特性。永久緩存--緩存能隨意的寫(xiě)入硬盤(pán),因此允許昂貴的創(chuàng)建(expensive-to-create)數(shù)據(jù)來(lái)保持緩存,甚至能讓?xiě)?yīng)用重啟。支持集群--集群緩存數(shù)據(jù)能被單個(gè)的進(jìn)行參數(shù)配置,不需要修改代碼。緩存記錄的過(guò)期--你可以有最大限度的控制緩存對(duì)象的過(guò)期,包括可插入式的刷新策略(如果默認(rèn)性能不需要時(shí))。
JSC
JavaCaching system JSC(Java Caching system)是一個(gè)用分布式的緩存系統(tǒng),是基于服務(wù)器的java應(yīng)用程序。它是通過(guò)提供管理各種動(dòng)態(tài)緩存數(shù)據(jù)來(lái)加速動(dòng)態(tài)web應(yīng)用。 JCS和其他緩存系統(tǒng)一樣,也是一個(gè)用于高速讀取,低速寫(xiě)入的應(yīng)用程序。動(dòng)態(tài)內(nèi)容和報(bào)表系統(tǒng)能夠獲得更好的性能。如果一個(gè)網(wǎng)站,有重復(fù)的網(wǎng)站結(jié)構(gòu),使用間歇性更新方式的數(shù)據(jù)庫(kù)(而不是連續(xù)不斷的更新數(shù)據(jù)庫(kù)),被重復(fù)搜索出相同結(jié)果的,就能夠通過(guò)執(zhí)行緩存方式改進(jìn)其性能和伸縮性。
EHCache
EHCache 是一個(gè)純java的在進(jìn)程中的緩存,它具有以下特性:快速,簡(jiǎn)單,為Hibernate2.1充當(dāng)可插入的緩存,最小的依賴性,全面的文檔和測(cè)試。
JCache
JCache是個(gè)開(kāi)源程序,正在努力成為JSR-107開(kāi)源規(guī)范,JSR-107規(guī)范已經(jīng)很多年沒(méi)改變了。這個(gè)版本仍然是構(gòu)建在最初的功能定義上。
ShiftOne
ShiftOneJava Object Cache是一個(gè)執(zhí)行一系列嚴(yán)格的對(duì)象緩存策略的Java lib,就像一個(gè)輕量級(jí)的配置緩存工作狀態(tài)的框架。
SwarmCache
SwarmCache是一個(gè)簡(jiǎn)單且有效的分布式緩存,它使用IP multicast與同一個(gè)局域網(wǎng)的其他主機(jī)進(jìn)行通訊,是特別為集群和數(shù)據(jù)驅(qū)動(dòng)web應(yīng)用程序而設(shè)計(jì)的。SwarmCache能夠讓典型的讀操作大大超過(guò)寫(xiě)操作的這類應(yīng)用提供更好的性能支持。SwarmCache使用JavaGroups來(lái)管理從屬關(guān)系和分布式緩存的通訊。
TreeCache/JBossCache
JBossCache是一個(gè)復(fù)制的事務(wù)處理緩存,它允許你緩存企業(yè)級(jí)應(yīng)用數(shù)據(jù)來(lái)更好的改善性能。緩存數(shù)據(jù)被自動(dòng)復(fù)制,讓你輕松進(jìn)行JBoss服務(wù)器之間的集群工作。JBossCache能夠通過(guò)JBoss應(yīng)用服務(wù)或其他J2EE容器來(lái)運(yùn)行一個(gè)MBean服務(wù),當(dāng)然,它也能獨(dú)立運(yùn)行。 JBossCache包括兩個(gè)模塊:TreeCache和TreeCacheAOP。 TreeCache --是一個(gè)樹(shù)形結(jié)構(gòu)復(fù)制的事務(wù)處理緩存。 TreeCacheAOP--是一個(gè)“面向?qū)ο?rdquo;緩存,它使用AOP來(lái)動(dòng)態(tài)管理POJO(PlainOld Java Objects) 注:AOP是OOP的延續(xù),是Aspect Oriented Programming的縮寫(xiě),意思是面向方面編程。
WhirlyCache
Whirlycache是一個(gè)快速的、可配置的、存在于內(nèi)存中的對(duì)象的緩存。它能夠通過(guò)緩存對(duì)象來(lái)加快網(wǎng)站或應(yīng)用程序的速度,否則就必須通過(guò)查詢數(shù)據(jù)庫(kù)或其他代價(jià)較高的處理程序來(lái)建立。
猜你感興趣: