javaweb框架介绍
javaweb框架介紹
1.什么是框架
框架(Framework)是整個或部分系統(tǒng)的可重用設(shè)計,表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實例間交互的方法;另一種定義認為,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。前者是從應(yīng)用方面而后者是從目的方面給出的定義。
簡而言之,框架其實就是某種應(yīng)用的半成品,就是一組組件,供你選用完成你自己的系統(tǒng),或者說是使用別人搭好的舞臺,你來做表演。框架一般是成熟的,不斷升級的軟件。
2.框架要解決的問題
框架要解決的最重要的一個問題是技術(shù)整合的問題,在JavaEE的 框架中,有著各種各樣的技術(shù),不同的軟件企業(yè)需要從JavaEE中選擇不同的技術(shù),這就使得軟件企業(yè)最終的應(yīng)用依賴于這些技術(shù),技術(shù)自身的復(fù)雜性和技術(shù)的風(fēng)險性將會直接對應(yīng)用造成沖擊。而應(yīng)用是軟件企業(yè)的核心,是競爭力的關(guān)鍵所在,因此應(yīng)該將應(yīng)用自身的設(shè)計和具體的實現(xiàn)技術(shù)解耦。這樣,軟件企業(yè)的研發(fā)將集中在應(yīng)用的設(shè)計上,而不是具體的技術(shù)實現(xiàn),技術(shù)實現(xiàn)是應(yīng)用的底層支撐,它不應(yīng)該直接對應(yīng)用產(chǎn)生影響。
3.軟件開發(fā)的分層重要性
框架的重要性在于它實現(xiàn)了部分功能,并且能夠很好的將低層應(yīng)用平臺和高層業(yè)務(wù)邏輯進行了緩和。為了實現(xiàn)軟件工程中的“高內(nèi)聚、低耦合”。把問題劃分開來各個解決,易于控制,易于延展,易于分配資源。我們常見的MVC軟件設(shè)計思想就是很好的分層思想。
通過分層更好的實現(xiàn)了各個部分的職責(zé),在每一層將再細化出不同的框架,分別解決各層關(guān)注的問題。
4.分層開發(fā)下的常見框架
解決數(shù)據(jù)持久化問題的框架
Mybatis
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013年11月遷移到Github。
作為持久層的框架,還有一個封裝程度更高的框架就是Hibernate,但這個框架因為各種原因目前在國內(nèi)的流行程度下降太多,現(xiàn)在公司開發(fā)也越來越少使用。目前Mybatis框架是主流,未來使用Spring Data來實現(xiàn)數(shù)據(jù)持久化也是一種趨勢。
解決WEB層問題的框架
SpringMVC
Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring 框架提供了構(gòu)建 Web 應(yīng)用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構(gòu),從而在使用Spring進行WEB開發(fā)時,可以選擇使用Spring的SpringMVC框架或集成其他MVC開發(fā)框架,如Struts1(現(xiàn)在一般不用),Struts2(一般老項目使用)等。
解決技術(shù)整合問題的框架
Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合性角度而言,絕大部分Java應(yīng)用都可以從Spring中受益。
◆目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能
◆范圍:任何Java應(yīng)用
Spring是一個輕量級控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。
5.Mybatis框架概述
Mybatis是一個優(yōu)秀的基于Java的持久層框架,它內(nèi)部封裝了Jdbc,使開發(fā)者只需要關(guān)注sql語句本身,而不需要花費精力去處理加載驅(qū)動、創(chuàng)建連接、創(chuàng)建statement等繁雜的過程。
Mybatis通過xml或注解的方式將要執(zhí)行的各種statement配置起來,并通過java對象和statement中sql的動態(tài)參數(shù)進行映射生成最終執(zhí)行的sql語句,最后由Mybatis框架執(zhí)行sql并將結(jié)果映射為java對象并返回。
采用ORM思想解決了實體和數(shù)據(jù)庫映射的問題,對Jdbc進行了封裝,屏蔽了Jdbc Api底層訪問細節(jié),使我們不用與Jdbc Api打交道,就可以完成對數(shù)據(jù)庫的持久化操作。
為了我們能夠更好掌握框架運行的內(nèi)部過程,并且有更好的體驗,下面我們將從自定義Mybatis框架開始來學(xué)習(xí)框架。此時我們將會體驗框架從無到有的過程體驗,也能夠很好的綜合前面階段所學(xué)的基礎(chǔ)。
總結(jié)
以上是生活随笔為你收集整理的javaweb框架介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中的线程
- 下一篇: 很不错的在线Office控件:IWebO