Web開發(fā)培訓(xùn)嘉俊課件_第1頁
Web開發(fā)培訓(xùn)嘉俊課件_第2頁
Web開發(fā)培訓(xùn)嘉俊課件_第3頁
Web開發(fā)培訓(xùn)嘉俊課件_第4頁
Web開發(fā)培訓(xùn)嘉俊課件_第5頁
已閱讀5頁,還剩63頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

J2EE快速開發(fā)詳解Harrisson2022/12/10LOGOJ2EE快速開發(fā)詳解Harrisson2022/12/10L1目錄以快速開發(fā)框架為例,在其內(nèi)實(shí)現(xiàn)一個Demo的增刪改查。實(shí)例講解講解快速開發(fā)框架中使用的開源框架及其原理??蚣苷f明12目錄以快速開發(fā)框架為例,在其內(nèi)實(shí)現(xiàn)一個Demo的增刪改查。實(shí)2框架說明Part1框架說明Part131.1快速開發(fā)框架整體結(jié)構(gòu)圖這是一個輕量級的框架組合,整合了當(dāng)下使用廣泛的流行框架,具備良好的性能及靈活性,同時使用Maven來對項(xiàng)目進(jìn)行構(gòu)建、管理和部署,令項(xiàng)目有條不紊。1.1快速開發(fā)框架整體結(jié)構(gòu)圖這是一個輕量級的41.2.1Maven介紹Maven是基于項(xiàng)目對象模型(POM),可以通過一小段描述信息來管理項(xiàng)目的構(gòu)建,報告和文檔的軟件項(xiàng)目管理工具。常用屬性:project:pom的xml根元素。groupId:定義當(dāng)前Maven項(xiàng)目隸屬的實(shí)

際項(xiàng)目。artifactId:定義項(xiàng)目中的一個Maven項(xiàng)目模塊,一般為實(shí)際項(xiàng)目名稱。version:定義當(dāng)前版本。packaging:定義項(xiàng)目構(gòu)建為jar或war,jar為可導(dǎo)入包,war為可部署Web項(xiàng)目。name:名稱。url:jar包下載地址,可設(shè)置為本地代理。dependencies->dependency:依賴管理。build->plugins->plugin:插件。properties:自定義屬性。1.2.1Maven介紹Maven是基于項(xiàng)目51.2.2Maven優(yōu)點(diǎn)1、快速構(gòu)建項(xiàng)目只需定義好pom.xml,則可以在多個項(xiàng)目中復(fù)用,導(dǎo)入項(xiàng)目中右鍵點(diǎn)擊xml運(yùn)行Maveninstall,它會自動從Maven官方庫中下載第三方依賴庫。2、平滑升級框架Maven將項(xiàng)目所有第三方依賴庫的版本管理起來,便于項(xiàng)目的依賴庫版本控制。在pom.xml內(nèi)修改框架版本,先Mavenclean然后Maveninstall,Maven會重復(fù)優(yōu)點(diǎn)1的步驟,將項(xiàng)目框架版本升級為指定的版本。Maven是一款方便易用的工具,現(xiàn)在通過介紹以下幾點(diǎn)主要功能,讓大家對它有一個大概的掌握。1.2.2Maven優(yōu)點(diǎn)1、快速構(gòu)建項(xiàng)目2、平滑升級框架61.2.3Maven優(yōu)點(diǎn)3、統(tǒng)一項(xiàng)目結(jié)構(gòu)可以保證構(gòu)建的所有Maven項(xiàng)目結(jié)構(gòu)都是統(tǒng)一的,每個目錄下放的東西都是固定的。要找源碼去src/main/java/下,要找界面去src/main/webapp/WEB-INF/下,要找資源去src/main/resources/下,要找單元測試的源碼和資源去src/test/下。4、自動生成(部署)網(wǎng)站在Maven中Maveninstall后,會在target目錄下生成網(wǎng)站項(xiàng)目war包,可將之手動拷貝Web應(yīng)用服務(wù)器下,也可配置插件直接熱部署到Web應(yīng)用服務(wù)器下。1.2.3Maven優(yōu)點(diǎn)3、統(tǒng)一項(xiàng)目結(jié)構(gòu)4、自動生成(部署71.2.4Maven缺點(diǎn)當(dāng)然,每一款工具都有優(yōu)點(diǎn),也有缺點(diǎn),Maven的主要缺點(diǎn)如下。1、安裝配置繁瑣需要配置環(huán)境變量,并且使用某些特性要去國外網(wǎng)站下載插件,較為麻煩。2、缺乏詳細(xì)教程Maven在網(wǎng)上資料有限,而且都較為簡易,如在實(shí)際使用過程中遇到問題,通常難以查詢到有用的信息。3、資源庫不完整大部分依賴庫都能在Maven官網(wǎng)上下載到,但有些使用較少的依賴庫是找不到的,雖然Maven提供了在本地庫導(dǎo)入特定依賴庫的功能,但還是比較麻煩。綜上所述,雖然Maven有一些缺點(diǎn),但也無法阻止它的快速傳播,畢竟還是瑕不掩瑜,相信這些缺陷在不久的將來會漸漸彌補(bǔ)。1.2.4Maven缺點(diǎn)當(dāng)然,每一款工具都有81.2.5Maven與Ant的區(qū)別通常人們都會將Maven與Ant拿來做比較,說到底還是各有千秋,但對于大型項(xiàng)目來說,Maven的特性更加便捷、實(shí)用。1.2.5Maven與Ant的區(qū)別通常人們都91.3.1Mybatis介紹1、Mybatis是什么Mybatis是數(shù)據(jù)映射器(數(shù)據(jù)映射器層:用于在對象和數(shù)據(jù)庫之間搬運(yùn)數(shù)據(jù),同時保證對象、數(shù)據(jù)庫和數(shù)據(jù)映射器層本身相對獨(dú)立。)Mybatis不是直接把類映射為數(shù)據(jù)庫表,而是把sql語句的參數(shù)與結(jié)果(即輸入與輸出)映射為類。為如何在類和數(shù)據(jù)庫間建立映射帶來了更大的靈活性。同時也更好的隔離了數(shù)據(jù)庫設(shè)計(jì)和應(yīng)用程序中使用的對象模型。2、Mybatis的作用Mybatis是三層架構(gòu)中數(shù)據(jù)持久層的框架。Mybatis對sql進(jìn)行了封裝和外部化,使sql從應(yīng)用程序代碼中分離出來。(業(yè)務(wù)邏輯從數(shù)據(jù)庫中分離出來,應(yīng)用程序更容易部署與測試,有更好的可移植性)1.3.1Mybatis介紹1、Mybatis是什么2、M101.3.2Mybatis功能架構(gòu)1、API接口層提供給外部使用的接口API,開發(fā)人員通過這些本地API來操縱數(shù)據(jù)庫。接口層一接收到調(diào)用請求就會調(diào)用數(shù)據(jù)處理層來完成具體的數(shù)據(jù)處理。2、數(shù)據(jù)處理層負(fù)責(zé)具體的SQL查找、SQL解析、SQL執(zhí)行和執(zhí)行結(jié)果映射處理等。它主要的目的是根據(jù)調(diào)用的請求完成一次數(shù)據(jù)庫操作。3、基礎(chǔ)支撐層負(fù)責(zé)最基礎(chǔ)的功能支撐,包括連接管理、事務(wù)管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎(chǔ)的組件。為上層的數(shù)據(jù)處理層提供最基礎(chǔ)的支撐。1.3.2Mybatis功能架構(gòu)1、API接口層111.3.3與Hibernate的區(qū)別輕量級的Mybatis與重量級的Hibernate相比,Mybatis更容易上手和使用,靈活度更高,而Hibernate因?yàn)槠渫暾姆庋b,導(dǎo)致學(xué)習(xí)成本及上手難度較大。Mybatis的優(yōu)點(diǎn)與缺點(diǎn)優(yōu)點(diǎn):

1、靈活性強(qiáng),直接操作SQL可以更好的利用數(shù)據(jù)庫特性,優(yōu)化SQL提高運(yùn)行效率。2、上手容易,對個人能力要求不高,能夠快速開發(fā)。缺點(diǎn):1、輕量級封裝,需要手動維護(hù)SQL和結(jié)果映射。2、移植性較差,不同的數(shù)據(jù)庫需要編寫不同的SQL。3、緩存機(jī)制不佳,mybatis緩存較hibernate二級緩存差。Hibernate的優(yōu)點(diǎn)與缺點(diǎn)優(yōu)點(diǎn):

1、框架封裝完整,對象維護(hù)簡單,數(shù)據(jù)庫無關(guān)性好,O/R映射能力強(qiáng)。2、有數(shù)據(jù)庫方言,數(shù)據(jù)庫移植性很好。3、緩存機(jī)制較好,二級緩存比mybatis更好,可以使用第三方緩存。缺點(diǎn):1、學(xué)習(xí)成本高,能力要求高。2、重量級框架,如果不夠非常了解該框架原理,運(yùn)行效率將會比較低。相同點(diǎn)1.Hibernate與MyBatis都可以是通過SessionFactoryBuider由XML配置文件生成SessionFactory,然后由SessionFactory生成Session,最后由Session來開啟執(zhí)行事務(wù)和SQL語句。2.Hibernate和MyBatis都支持JDBC和JTA事務(wù)處理。1.3.3與Hibernate的區(qū)別輕量級的121.4.1Springmvc介紹1、Springmvc是什么SpringMVC是一種基于Java的實(shí)現(xiàn)了WebMVC設(shè)計(jì)模式的請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將web層進(jìn)行職責(zé)解耦,基于請求驅(qū)動指的就是使用請求-響應(yīng)模型,框架的目的就是幫助我們簡化開發(fā),SpringMVC也是要簡化我們?nèi)粘eb開發(fā)的。2、Springmvc能幫我們做什么1、讓我們能非常簡單的設(shè)計(jì)出干凈的Web層和薄薄的Web層;2、進(jìn)行更簡潔的Web層的開發(fā);2、天生與Spring框架集成(如IoC容器、AOP等);3、提供強(qiáng)大的約定大于配置的契約式編程支持;4、支持靈活的URL到頁面控制器的映射;5、非常容易與其他視圖技術(shù)集成,如Velocity、FreeMarker等等;6、非常靈活的數(shù)據(jù)驗(yàn)證、格式化和數(shù)據(jù)綁定機(jī)制;7、提供一套強(qiáng)大的JSP標(biāo)簽庫,簡化JSP開發(fā);8、支持靈活的本地化、主題等解析;9、對靜態(tài)資源的支持;10、支持Restful風(fēng)格。1.4.1Springmvc介紹1、Springmvc131.4.2Springmvc的請求流程SpringMVC框架也是一個基于請求驅(qū)動的Web框架,并且也使用了前端控制器模式來進(jìn)行設(shè)計(jì),再根據(jù)請求映射規(guī)則分發(fā)給相應(yīng)的頁面控制器(動作/處理器)進(jìn)行處理。首先讓我們整體看一下SpringWebMVC處理請求的流程:1.4.2Springmvc的請求流程Sp141.4.3Springmvc架構(gòu)1.4.3Springmvc架構(gòu)151.4.4與Struts2的區(qū)別1.4.4與Struts2的區(qū)別161.5.1Spring介紹1、Spring是什么Spring是一個開源框架,Spring是于2003年興起的一個輕量級的Java開發(fā)框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中闡述的部分理念和原型衍生而來。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情,然而,Spring的用途不僅限于服務(wù)器端的開發(fā),從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益?!裟康模航鉀Q企業(yè)應(yīng)用開發(fā)的復(fù)雜性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能◆范圍:任何Java應(yīng)用簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。1.5.1Spring介紹1、Spring是什么171.5.2Spring特點(diǎn)方便解耦,簡化開發(fā)通過Spring提供的IoC容器,我們可以將對象之間的依賴關(guān)系交由Spring進(jìn)行控制,避免硬編碼所造成的過度程序耦合。AOP編程的支持通過Spring提供的AOP功能,方便進(jìn)行面向切面的編程,許多不容易用傳統(tǒng)OOP實(shí)現(xiàn)的功能可以通過AOP輕松應(yīng)付。聲明式事務(wù)的支持在Spring中,我們可以從單調(diào)煩悶的事務(wù)管理代碼中解脫出來,通過聲明式方式靈活地進(jìn)行事務(wù)的管理,提高開發(fā)效率和質(zhì)量。方便程序的測試可以用非容器依賴的編程方式進(jìn)行幾乎所有的測試工作,在Spring里,測試不再是昂貴的操作,而是隨手可做的事情。方便集成各種優(yōu)秀框架Spring不排斥各種優(yōu)秀的開源框架,相反,Spring可以降低各種框架的使用難度,Spring提供了對各種優(yōu)秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。降低JavaEEAPI的使用難度Spring對很多難用的JavaEEAPI(如JDBC,JavaMail,遠(yuǎn)程調(diào)用等)提供了一個薄薄的封裝層,通過Spring的簡易封裝,這些JavaEEAPI的使用難度大為降低。1.5.2Spring特點(diǎn)方便解耦,簡化開發(fā)181.5.3Spring架構(gòu)1、核心容器:核心容器提供Spring框架的基本功能(SpringCore)。2、Spring上下文:Spring上下文是一個配置文件,向Spring框架提供上下文信息。3、SpringAOP:通過配置管理特性,SpringAOP模塊直接將面向切面的編程功能集成到了Spring框架中。4、SpringDAO:JDBCDAO抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫供應(yīng)商拋出的錯誤消息。5、SpringORM:Spring框架插入了若干個ORM框架,從而提供了ORM的對象關(guān)系工具,其中包括JDO、Hibernate和iBatisSQLMap。6、SpringWeb

模塊:Web上下文模塊建立在應(yīng)用程序上下文模塊之上,為基于Web的應(yīng)用程序提供了上下文。7、SpringMVC框架:MVC框架是一個全功能的構(gòu)建Web應(yīng)用程序的MVC實(shí)現(xiàn)。1.5.3Spring架構(gòu)1、核心容器:核心容器提供Sp191.6.1快速開發(fā)平臺介紹1、DevelopFrame是什么DevelopFrame是一個整合了SSM(Spring+Springmvc+Mybatis)三大框架的基礎(chǔ)項(xiàng)目,該項(xiàng)目與產(chǎn)品或者定制項(xiàng)目無關(guān),作為一個獨(dú)立維護(hù)的項(xiàng)目運(yùn)作。它的出現(xiàn)是為了避免重復(fù)造輪子,把每個項(xiàng)目通用的部分抽取出來,平時在其上增加通用性功能,以便應(yīng)付緊急情況的項(xiàng)目。DevelopFrame...項(xiàng)目4項(xiàng)目3項(xiàng)目2項(xiàng)目11.6.1快速開發(fā)平臺介紹1、DevelopFrame是什201.6.2快速開發(fā)平臺介紹1、DevelopTools是什么DevelopTools是一個集成常用工具包的項(xiàng)目,該項(xiàng)目是作為一個擴(kuò)展項(xiàng)目存在。它的出現(xiàn)是為了提高項(xiàng)目的開發(fā)效率,可自行封裝整合各類工具,打成Jar包引入項(xiàng)目即可使用,避免在實(shí)際開發(fā)時再從網(wǎng)上去尋找相關(guān)的代碼。DevelopFrame...項(xiàng)目2項(xiàng)目1DevelopTools擴(kuò)展1.6.2快速開發(fā)平臺介紹1、DevelopTools是什211.6.3快速開發(fā)平臺的功能1、DevelopFrame與DevelopTools當(dāng)前版本DevelopFrame和DevelopTools當(dāng)前版本均為1.0,后續(xù)會考慮平臺、工具包的升級。2、DevelopFrame1.0包括哪些功能系統(tǒng)用戶管理權(quán)限角色管理系統(tǒng)設(shè)置3、DevelopTools1.0包括哪些工具日期時間、字符串、緩存、二維碼、Json、文件、圖片、XML等。1.6.3快速開發(fā)平臺的功能1、DevelopFrame221.6.4快速開發(fā)平臺的構(gòu)想1、DevelopFrame功能深化DevelopFrame后期應(yīng)該加入更多的通用功能,使之成為一個能夠即時拿來使用的項(xiàng)目。2、DevelopFrame數(shù)據(jù)初始化

DevelopFrame將數(shù)據(jù)庫建表及數(shù)據(jù)初始化抽取為一個單獨(dú)的功能,再新建項(xiàng)目時只需在部署項(xiàng)目后訪問項(xiàng)目即可一鍵搞定,同時支持MySql、SqlServer、Oracle等主流數(shù)據(jù)庫。3、DevelopFrame項(xiàng)目分支DevelopFrame將根據(jù)公司主體業(yè)務(wù)進(jìn)行分類,進(jìn)行不同的拓展,比如OA業(yè)務(wù)、電商業(yè)務(wù)等,分為不同的領(lǐng)域進(jìn)行深入的功能拓展,然后將功能組件化,在具體使用時可直接在后臺設(shè)置需要使用的功能即可形成一個完整的系統(tǒng)。4、DevelopService項(xiàng)目搭建DevelopService是以高效實(shí)現(xiàn)接口為目的的接口平臺,將業(yè)務(wù)項(xiàng)目與接口項(xiàng)目分離,及時適應(yīng)需求變化調(diào)整,便于整體項(xiàng)目架構(gòu)的后期拓展。4、DevelopTools深入封裝將工具類根據(jù)自身業(yè)務(wù)項(xiàng)目的需要,整理為一套完整的工具包,并且生成API供開發(fā)者查閱。1.6.4快速開發(fā)平臺的構(gòu)想1、DevelopFrame功23實(shí)例講解Part2實(shí)例講解Part2242.1.1搭建開發(fā)環(huán)境1、開發(fā)IDE使用的IDE是MyEclipse10,也可以使用Eclipse、Netbeans、IntelliJ。2、開發(fā)數(shù)據(jù)庫

使用數(shù)據(jù)庫為MySql5.5,數(shù)據(jù)庫訪問客戶端工具為Navicat,也有Linux版本。3、開發(fā)應(yīng)用服務(wù)器使用Tomcat7,簡單好用。4、SVN版本管理器使用TortoiseSVN,在MyEclipse內(nèi)集成Svn插件,對開發(fā)效率有較大的提升。5、JDK版本使用JDK1.7.0_51。Eclipse:/MySql:/Navicat:/Tomcat:/JDK:/technetwork/java/javase/downloads/index.html工具下載地址2.1.1搭建開發(fā)環(huán)境1、開發(fā)IDEEclipse:htt252.1.2項(xiàng)目結(jié)構(gòu)2.1.2項(xiàng)目結(jié)構(gòu)262.2.1開發(fā)步驟1、新建數(shù)據(jù)表2、根據(jù)表新建(生成)模型,將表字段轉(zhuǎn)換為模型內(nèi)的屬性3、新建(生成)Mybatis的mapper及xml,在mapper內(nèi)寫好需要使用的方法,一般來說有增加、修改、刪除和查詢,然后在xml內(nèi)根據(jù)mapper的方法關(guān)聯(lián)起來編寫SQL4、新建Springmvc的控制器controler5、在resources下引入css、image和js,將html轉(zhuǎn)換為jsp6、在controler內(nèi)編寫方法的業(yè)務(wù)邏輯,設(shè)置跳轉(zhuǎn)jsp

基本上一個模塊的垂直開發(fā)流程就是這樣,但是2至3步可以使用官方提供的生成器MybatisGenerator來自動生成,在實(shí)際開發(fā)中只需關(guān)注業(yè)務(wù)邏輯和前端頁面即可。2.2.1開發(fā)步驟1、新建數(shù)據(jù)表272.3.1演示步驟1新建數(shù)據(jù)表查看項(xiàng)目中的數(shù)據(jù)庫設(shè)計(jì),到連接工具中查看該項(xiàng)目的數(shù)據(jù)庫,確認(rèn)該表是否存在。2.3.1演示步驟1新建數(shù)據(jù)表282.3.2演示步驟2生成模型將數(shù)據(jù)表的字段轉(zhuǎn)換為模型中的屬性。2.3.2演示步驟2生成模型292.3.3演示步驟3配置Mapper和Xml配置Mybatis的dao方法mapper,使用xml中的sql從數(shù)據(jù)庫返回結(jié)果。2.3.3演示步驟3配置Mapper和Xml302.3.4演示步驟4和6新建控制器controlerSpringmvc使用controler作為請求入口,接收請求中的數(shù)據(jù)執(zhí)行業(yè)務(wù)邏輯處理,然后將結(jié)果返回至視圖層。2.3.4演示步驟4和6新建控制器controler312.3.5演示步驟5轉(zhuǎn)換html為jsp在jsp上使用el表達(dá)式可接收從控制器傳來的參數(shù),使用${expression}的結(jié)構(gòu)可將其獲取,如果expression是一個對象,其內(nèi)有name屬性,則應(yīng)該這樣獲取${}。2.3.5演示步驟5轉(zhuǎn)換html為jsp322.3.6演示步驟6最終效果

在DevelopFrame的Demo內(nèi)實(shí)現(xiàn)了增刪改查的基本功能。2.3.6演示步驟6最終效果33謝謝觀看Harrisson2022/12/10四川省嘉駿科技有限公司謝謝觀看Harrisson2022/12/10四川省嘉駿科技34J2EE快速開發(fā)詳解Harrisson2022/12/10LOGOJ2EE快速開發(fā)詳解Harrisson2022/12/10L35目錄以快速開發(fā)框架為例,在其內(nèi)實(shí)現(xiàn)一個Demo的增刪改查。實(shí)例講解講解快速開發(fā)框架中使用的開源框架及其原理??蚣苷f明12目錄以快速開發(fā)框架為例,在其內(nèi)實(shí)現(xiàn)一個Demo的增刪改查。實(shí)36框架說明Part1框架說明Part1371.1快速開發(fā)框架整體結(jié)構(gòu)圖這是一個輕量級的框架組合,整合了當(dāng)下使用廣泛的流行框架,具備良好的性能及靈活性,同時使用Maven來對項(xiàng)目進(jìn)行構(gòu)建、管理和部署,令項(xiàng)目有條不紊。1.1快速開發(fā)框架整體結(jié)構(gòu)圖這是一個輕量級的381.2.1Maven介紹Maven是基于項(xiàng)目對象模型(POM),可以通過一小段描述信息來管理項(xiàng)目的構(gòu)建,報告和文檔的軟件項(xiàng)目管理工具。常用屬性:project:pom的xml根元素。groupId:定義當(dāng)前Maven項(xiàng)目隸屬的實(shí)

際項(xiàng)目。artifactId:定義項(xiàng)目中的一個Maven項(xiàng)目模塊,一般為實(shí)際項(xiàng)目名稱。version:定義當(dāng)前版本。packaging:定義項(xiàng)目構(gòu)建為jar或war,jar為可導(dǎo)入包,war為可部署Web項(xiàng)目。name:名稱。url:jar包下載地址,可設(shè)置為本地代理。dependencies->dependency:依賴管理。build->plugins->plugin:插件。properties:自定義屬性。1.2.1Maven介紹Maven是基于項(xiàng)目391.2.2Maven優(yōu)點(diǎn)1、快速構(gòu)建項(xiàng)目只需定義好pom.xml,則可以在多個項(xiàng)目中復(fù)用,導(dǎo)入項(xiàng)目中右鍵點(diǎn)擊xml運(yùn)行Maveninstall,它會自動從Maven官方庫中下載第三方依賴庫。2、平滑升級框架Maven將項(xiàng)目所有第三方依賴庫的版本管理起來,便于項(xiàng)目的依賴庫版本控制。在pom.xml內(nèi)修改框架版本,先Mavenclean然后Maveninstall,Maven會重復(fù)優(yōu)點(diǎn)1的步驟,將項(xiàng)目框架版本升級為指定的版本。Maven是一款方便易用的工具,現(xiàn)在通過介紹以下幾點(diǎn)主要功能,讓大家對它有一個大概的掌握。1.2.2Maven優(yōu)點(diǎn)1、快速構(gòu)建項(xiàng)目2、平滑升級框架401.2.3Maven優(yōu)點(diǎn)3、統(tǒng)一項(xiàng)目結(jié)構(gòu)可以保證構(gòu)建的所有Maven項(xiàng)目結(jié)構(gòu)都是統(tǒng)一的,每個目錄下放的東西都是固定的。要找源碼去src/main/java/下,要找界面去src/main/webapp/WEB-INF/下,要找資源去src/main/resources/下,要找單元測試的源碼和資源去src/test/下。4、自動生成(部署)網(wǎng)站在Maven中Maveninstall后,會在target目錄下生成網(wǎng)站項(xiàng)目war包,可將之手動拷貝Web應(yīng)用服務(wù)器下,也可配置插件直接熱部署到Web應(yīng)用服務(wù)器下。1.2.3Maven優(yōu)點(diǎn)3、統(tǒng)一項(xiàng)目結(jié)構(gòu)4、自動生成(部署411.2.4Maven缺點(diǎn)當(dāng)然,每一款工具都有優(yōu)點(diǎn),也有缺點(diǎn),Maven的主要缺點(diǎn)如下。1、安裝配置繁瑣需要配置環(huán)境變量,并且使用某些特性要去國外網(wǎng)站下載插件,較為麻煩。2、缺乏詳細(xì)教程Maven在網(wǎng)上資料有限,而且都較為簡易,如在實(shí)際使用過程中遇到問題,通常難以查詢到有用的信息。3、資源庫不完整大部分依賴庫都能在Maven官網(wǎng)上下載到,但有些使用較少的依賴庫是找不到的,雖然Maven提供了在本地庫導(dǎo)入特定依賴庫的功能,但還是比較麻煩。綜上所述,雖然Maven有一些缺點(diǎn),但也無法阻止它的快速傳播,畢竟還是瑕不掩瑜,相信這些缺陷在不久的將來會漸漸彌補(bǔ)。1.2.4Maven缺點(diǎn)當(dāng)然,每一款工具都有421.2.5Maven與Ant的區(qū)別通常人們都會將Maven與Ant拿來做比較,說到底還是各有千秋,但對于大型項(xiàng)目來說,Maven的特性更加便捷、實(shí)用。1.2.5Maven與Ant的區(qū)別通常人們都431.3.1Mybatis介紹1、Mybatis是什么Mybatis是數(shù)據(jù)映射器(數(shù)據(jù)映射器層:用于在對象和數(shù)據(jù)庫之間搬運(yùn)數(shù)據(jù),同時保證對象、數(shù)據(jù)庫和數(shù)據(jù)映射器層本身相對獨(dú)立。)Mybatis不是直接把類映射為數(shù)據(jù)庫表,而是把sql語句的參數(shù)與結(jié)果(即輸入與輸出)映射為類。為如何在類和數(shù)據(jù)庫間建立映射帶來了更大的靈活性。同時也更好的隔離了數(shù)據(jù)庫設(shè)計(jì)和應(yīng)用程序中使用的對象模型。2、Mybatis的作用Mybatis是三層架構(gòu)中數(shù)據(jù)持久層的框架。Mybatis對sql進(jìn)行了封裝和外部化,使sql從應(yīng)用程序代碼中分離出來。(業(yè)務(wù)邏輯從數(shù)據(jù)庫中分離出來,應(yīng)用程序更容易部署與測試,有更好的可移植性)1.3.1Mybatis介紹1、Mybatis是什么2、M441.3.2Mybatis功能架構(gòu)1、API接口層提供給外部使用的接口API,開發(fā)人員通過這些本地API來操縱數(shù)據(jù)庫。接口層一接收到調(diào)用請求就會調(diào)用數(shù)據(jù)處理層來完成具體的數(shù)據(jù)處理。2、數(shù)據(jù)處理層負(fù)責(zé)具體的SQL查找、SQL解析、SQL執(zhí)行和執(zhí)行結(jié)果映射處理等。它主要的目的是根據(jù)調(diào)用的請求完成一次數(shù)據(jù)庫操作。3、基礎(chǔ)支撐層負(fù)責(zé)最基礎(chǔ)的功能支撐,包括連接管理、事務(wù)管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎(chǔ)的組件。為上層的數(shù)據(jù)處理層提供最基礎(chǔ)的支撐。1.3.2Mybatis功能架構(gòu)1、API接口層451.3.3與Hibernate的區(qū)別輕量級的Mybatis與重量級的Hibernate相比,Mybatis更容易上手和使用,靈活度更高,而Hibernate因?yàn)槠渫暾姆庋b,導(dǎo)致學(xué)習(xí)成本及上手難度較大。Mybatis的優(yōu)點(diǎn)與缺點(diǎn)優(yōu)點(diǎn):

1、靈活性強(qiáng),直接操作SQL可以更好的利用數(shù)據(jù)庫特性,優(yōu)化SQL提高運(yùn)行效率。2、上手容易,對個人能力要求不高,能夠快速開發(fā)。缺點(diǎn):1、輕量級封裝,需要手動維護(hù)SQL和結(jié)果映射。2、移植性較差,不同的數(shù)據(jù)庫需要編寫不同的SQL。3、緩存機(jī)制不佳,mybatis緩存較hibernate二級緩存差。Hibernate的優(yōu)點(diǎn)與缺點(diǎn)優(yōu)點(diǎn):

1、框架封裝完整,對象維護(hù)簡單,數(shù)據(jù)庫無關(guān)性好,O/R映射能力強(qiáng)。2、有數(shù)據(jù)庫方言,數(shù)據(jù)庫移植性很好。3、緩存機(jī)制較好,二級緩存比mybatis更好,可以使用第三方緩存。缺點(diǎn):1、學(xué)習(xí)成本高,能力要求高。2、重量級框架,如果不夠非常了解該框架原理,運(yùn)行效率將會比較低。相同點(diǎn)1.Hibernate與MyBatis都可以是通過SessionFactoryBuider由XML配置文件生成SessionFactory,然后由SessionFactory生成Session,最后由Session來開啟執(zhí)行事務(wù)和SQL語句。2.Hibernate和MyBatis都支持JDBC和JTA事務(wù)處理。1.3.3與Hibernate的區(qū)別輕量級的461.4.1Springmvc介紹1、Springmvc是什么SpringMVC是一種基于Java的實(shí)現(xiàn)了WebMVC設(shè)計(jì)模式的請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將web層進(jìn)行職責(zé)解耦,基于請求驅(qū)動指的就是使用請求-響應(yīng)模型,框架的目的就是幫助我們簡化開發(fā),SpringMVC也是要簡化我們?nèi)粘eb開發(fā)的。2、Springmvc能幫我們做什么1、讓我們能非常簡單的設(shè)計(jì)出干凈的Web層和薄薄的Web層;2、進(jìn)行更簡潔的Web層的開發(fā);2、天生與Spring框架集成(如IoC容器、AOP等);3、提供強(qiáng)大的約定大于配置的契約式編程支持;4、支持靈活的URL到頁面控制器的映射;5、非常容易與其他視圖技術(shù)集成,如Velocity、FreeMarker等等;6、非常靈活的數(shù)據(jù)驗(yàn)證、格式化和數(shù)據(jù)綁定機(jī)制;7、提供一套強(qiáng)大的JSP標(biāo)簽庫,簡化JSP開發(fā);8、支持靈活的本地化、主題等解析;9、對靜態(tài)資源的支持;10、支持Restful風(fēng)格。1.4.1Springmvc介紹1、Springmvc471.4.2Springmvc的請求流程SpringMVC框架也是一個基于請求驅(qū)動的Web框架,并且也使用了前端控制器模式來進(jìn)行設(shè)計(jì),再根據(jù)請求映射規(guī)則分發(fā)給相應(yīng)的頁面控制器(動作/處理器)進(jìn)行處理。首先讓我們整體看一下SpringWebMVC處理請求的流程:1.4.2Springmvc的請求流程Sp481.4.3Springmvc架構(gòu)1.4.3Springmvc架構(gòu)491.4.4與Struts2的區(qū)別1.4.4與Struts2的區(qū)別501.5.1Spring介紹1、Spring是什么Spring是一個開源框架,Spring是于2003年興起的一個輕量級的Java開發(fā)框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中闡述的部分理念和原型衍生而來。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情,然而,Spring的用途不僅限于服務(wù)器端的開發(fā),從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益?!裟康模航鉀Q企業(yè)應(yīng)用開發(fā)的復(fù)雜性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能◆范圍:任何Java應(yīng)用簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。1.5.1Spring介紹1、Spring是什么511.5.2Spring特點(diǎn)方便解耦,簡化開發(fā)通過Spring提供的IoC容器,我們可以將對象之間的依賴關(guān)系交由Spring進(jìn)行控制,避免硬編碼所造成的過度程序耦合。AOP編程的支持通過Spring提供的AOP功能,方便進(jìn)行面向切面的編程,許多不容易用傳統(tǒng)OOP實(shí)現(xiàn)的功能可以通過AOP輕松應(yīng)付。聲明式事務(wù)的支持在Spring中,我們可以從單調(diào)煩悶的事務(wù)管理代碼中解脫出來,通過聲明式方式靈活地進(jìn)行事務(wù)的管理,提高開發(fā)效率和質(zhì)量。方便程序的測試可以用非容器依賴的編程方式進(jìn)行幾乎所有的測試工作,在Spring里,測試不再是昂貴的操作,而是隨手可做的事情。方便集成各種優(yōu)秀框架Spring不排斥各種優(yōu)秀的開源框架,相反,Spring可以降低各種框架的使用難度,Spring提供了對各種優(yōu)秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。降低JavaEEAPI的使用難度Spring對很多難用的JavaEEAPI(如JDBC,JavaMail,遠(yuǎn)程調(diào)用等)提供了一個薄薄的封裝層,通過Spring的簡易封裝,這些JavaEEAPI的使用難度大為降低。1.5.2Spring特點(diǎn)方便解耦,簡化開發(fā)521.5.3Spring架構(gòu)1、核心容器:核心容器提供Spring框架的基本功能(SpringCore)。2、Spring上下文:Spring上下文是一個配置文件,向Spring框架提供上下文信息。3、SpringAOP:通過配置管理特性,SpringAOP模塊直接將面向切面的編程功能集成到了Spring框架中。4、SpringDAO:JDBCDAO抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫供應(yīng)商拋出的錯誤消息。5、SpringORM:Spring框架插入了若干個ORM框架,從而提供了ORM的對象關(guān)系工具,其中包括JDO、Hibernate和iBatisSQLMap。6、SpringWeb

模塊:Web上下文模塊建立在應(yīng)用程序上下文模塊之上,為基于Web的應(yīng)用程序提供了上下文。7、SpringMVC框架:MVC框架是一個全功能的構(gòu)建Web應(yīng)用程序的MVC實(shí)現(xiàn)。1.5.3Spring架構(gòu)1、核心容器:核心容器提供Sp531.6.1快速開發(fā)平臺介紹1、DevelopFrame是什么DevelopFrame是一個整合了SSM(Spring+Springmvc+Mybatis)三大框架的基礎(chǔ)項(xiàng)目,該項(xiàng)目與產(chǎn)品或者定制項(xiàng)目無關(guān),作為一個獨(dú)立維護(hù)的項(xiàng)目運(yùn)作。它的出現(xiàn)是為了避免重復(fù)造輪子,把每個項(xiàng)目通用的部分抽取出來,平時在其上增加通用性功能,以便應(yīng)付緊急情況的項(xiàng)目。DevelopFrame...項(xiàng)目4項(xiàng)目3項(xiàng)目2項(xiàng)目11.6.1快速開發(fā)平臺介紹1、DevelopFrame是什541.6.2快速開發(fā)平臺介紹1、DevelopTools是什么DevelopTools是一個集成常用工具包的項(xiàng)目,該項(xiàng)目是作為一個擴(kuò)展項(xiàng)目存在。它的出現(xiàn)是為了提高項(xiàng)目的開發(fā)效率,可自行封裝整合各類工具,打成Jar包引入項(xiàng)目即可使用,避免在實(shí)際開發(fā)時再從網(wǎng)上去尋找相關(guān)的代碼。DevelopFrame...項(xiàng)目2項(xiàng)目1DevelopTools擴(kuò)展1.6.2快速開發(fā)平臺介紹1、DevelopTools是什551.6.3快速開發(fā)平臺的功能1、DevelopFrame與DevelopTools當(dāng)前版本DevelopFrame和DevelopTools當(dāng)前版本均為1.0,后續(xù)會考慮平臺、工具包的升級。2、DevelopFrame1.0包括哪些功能系統(tǒng)用戶管理權(quán)限角色管理系統(tǒng)設(shè)置3、DevelopTools1.0包括哪些工具日期時間、字符串、緩存、二維碼、Json、文件、圖片、XML等。1.6.3快速開發(fā)平臺的功能1、DevelopFrame561.6.4快速開發(fā)平臺的構(gòu)想1、DevelopFrame功能深化DevelopFrame后期應(yīng)該加入更多的通用功能,使之成為一個能夠即時拿來使用的項(xiàng)目。2、DevelopFrame數(shù)據(jù)初始化

DevelopFrame將數(shù)據(jù)庫建表及數(shù)據(jù)初始化抽取為一個單獨(dú)的功能,再新建項(xiàng)目時只需在部署項(xiàng)目后訪問項(xiàng)目即可一鍵搞定,同時支持MySql、SqlServer、Oracle等主流數(shù)據(jù)庫。3、DevelopFrame項(xiàng)目分支DevelopFrame將根據(jù)公司主體業(yè)務(wù)進(jìn)行分類,進(jìn)行不同的拓展,比如OA業(yè)務(wù)、電商業(yè)務(wù)等,分為不同的領(lǐng)域進(jìn)行深入的功能拓展,然后將功能組件化,在具體使用時可直接在后臺設(shè)置需要使用的功能即可形成一個完整的系統(tǒng)。4、D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論