中國石油大學軟件復用報告_第1頁
中國石油大學軟件復用報告_第2頁
中國石油大學軟件復用報告_第3頁
中國石油大學軟件復用報告_第4頁
中國石油大學軟件復用報告_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件復用與組件開發(fā)課程設(shè)計報告目錄5類軟件調(diào)研 . 誤!未定義書簽。\l“_TOC_250002“Maven練習 9Maven安裝與配置 9創(chuàng)立n工程 .\l“_TOC_250001“a反射機制 .通過Java反射機制實現(xiàn)工廠模式 11動態(tài)代理模式 .緩存Memached 6設(shè)計模式——裝飾模式 .\l“_TOC_250000“Spring的掌握反轉(zhuǎn)機制… 20應(yīng)用xml配置實現(xiàn)訪問者模式… 20應(yīng)用自動裝配實現(xiàn)策略模式… 221P實現(xiàn)寫日志 .0 beM大作業(yè) .個人總結(jié)… 371、5類軟件調(diào)研類 小 型 類

國外 國內(nèi)產(chǎn)品 產(chǎn)品

國內(nèi)外軟件比照操技術(shù)特點操技術(shù)特點:1.Windows1.國內(nèi)操作系統(tǒng)軟件正從“可用”走向“好作系統(tǒng)界面圖形化多用戶多任務(wù)硬件支持良好2.Maclinux中標麒麟用”。國內(nèi)操作系統(tǒng)仍需學習北斗衛(wèi)星導真正得到用戶和市場的認可。實現(xiàn)難點:1.編寫操作系統(tǒng)工作量2巨大需要深厚技術(shù)積存一個迭代演進的過程技術(shù)人才相對匱乏數(shù)據(jù)庫技術(shù)特點:表示數(shù)據(jù)構(gòu)造數(shù)據(jù)冗余小易擴大實現(xiàn)了數(shù)據(jù)共享OracleMySQLAccess數(shù)據(jù)庫達夢數(shù)據(jù)庫舟航天軟件技術(shù)〕KingbaseES〔北京人大金倉國內(nèi)數(shù)據(jù)庫的使用率并不是很高,國內(nèi)數(shù)據(jù)庫的性能不是很穩(wěn)定,品牌上不如主流數(shù)據(jù)庫,并且宣傳力度沒有跟上。國外的數(shù)據(jù)庫服兼容性,可移植性高,易操作。實現(xiàn)難點:數(shù)據(jù)庫的設(shè)計編程技術(shù)的實現(xiàn)如何實現(xiàn)安全與維護〕辦公軟件技術(shù)特點:輕松靈快安裝便捷支持隨時隨地辦公GoodleOfficeDocsWPSTIM石墨文檔我國在辦公軟件的自主爭論和開發(fā)力量相對薄弱,但是國產(chǎn)WPS的功能格外齊全,檔也具有很好的兼容性。實現(xiàn)難點:實現(xiàn)兼容性件的互通性上得到突破中間技術(shù)特點:1.獨立的治理計算機資J2ee件源和網(wǎng)絡(luò)通信的軟件或效勞程序,分布式應(yīng)用軟件,借助這種軟件在不同的技術(shù)之間共享資源2.分布計算,供給跨網(wǎng)OS平臺的透明性的應(yīng)用或效勞的交互3.支持標準接口實現(xiàn)難點:以分布對象技術(shù)為根底,不僅能夠支持應(yīng)用集成框架的建立,滿足協(xié)同工作的需求,而且建立了多層次的軟構(gòu)件框架,更加分布對象中間件便于應(yīng)用3開發(fā)智 技術(shù)特點:

Cahmc

上海數(shù)巧的能 1.使用動態(tài)內(nèi)存機器Honeywell

SimRight

止步于院所的路線。盡管起步很早,早在設(shè)碼生成技術(shù),結(jié)合分布計式實時數(shù)據(jù)庫,為微機與環(huán)境下分布式計算和復仿雜系統(tǒng)實時仿真,供給真高效的底層支撐平臺。承受面對對象的圖形

UnisimDesign2.北京藍威的petro-sim EasyCAE3.CFD

1960s步。但隨后的產(chǎn)業(yè)化,卻差強人意,碩果無存。國外仿真軟件,源頭往往來自工業(yè)制造,然后借助于資本和并購的驅(qū)動。像早期的MSC、UG、SDRCNASA化建模方法,為不同領(lǐng)的影子。域仿真科學爭論與工程實踐,供給了通用的模型開發(fā)環(huán)境。制技術(shù)特點:1.Honeywell的1.浙大中控的國內(nèi),90MES造系統(tǒng)從底層數(shù)據(jù)開頭,MESESP-Suite的跟蹤爭論、宣傳或試點,而且提出了執(zhí)到過程檢測和在線管2.ASPENTech的業(yè)綜合自動化整行理,構(gòu)成了完整的生產(chǎn)MES體解決方案銷”等頗具中國特色的概念,但只是總系信息化系統(tǒng)。系統(tǒng)各功3.EMERSONMES2.大統(tǒng)能模塊可以滿足企業(yè)在信息化生產(chǎn)治理領(lǐng)域不方案HOLLIAS-MES夠,進展勢頭不快。有一些接近T-MES、I-MESMES-Ⅱ的產(chǎn)品,雖未到達爐火型工業(yè)軟件實現(xiàn)難點:產(chǎn)制造集成,并與生產(chǎn)現(xiàn)場掌握系統(tǒng)集成,所純青,但根本上符合AMR、MESA、ISA出的主要定義、模型和標準。國外如日本,MESMES的專涉及的系統(tǒng)較多,系統(tǒng)MESMES供給商較多,實施也不義,其文化內(nèi)涵更接近于東方。同步,造成了與各個系統(tǒng)集成的難度。企業(yè)管理實現(xiàn)難點:1.企業(yè)自身的根底治理薄弱,根底數(shù)據(jù)的準確性和準時性相對較差。SAPSageInforOracle用友軟件金蝶軟件速達軟件和佳軟件1.國外軟件承受的平臺有Novell、UNIX、NT及崛起的Linux有用;國外軟件廠商在效勞上以企業(yè)為服務(wù)對象。系統(tǒng)數(shù)據(jù)的準確性恰恰是ERP系統(tǒng)的根底。假設(shè)2.國內(nèi)軟件在平臺上大多只支持主流底層數(shù)據(jù)中斷,后續(xù)管的模式;國內(nèi)軟件在效勞上是以企業(yè)及相理可能會搞砸。2.實施沖突多,ERP的關(guān)人員為效勞對象。集成性與實施中部門間協(xié)調(diào)的困難,較長的實施周期與IT技術(shù)快速更的沖突。3.ERP4涉及到企業(yè)治理理念的變革,流程的建等一系列因素。根底共性、技術(shù)特點:1.工業(yè)軟件離不開工藝的支持,不同行業(yè)的工業(yè)掌握軟件,其效勞對暫無暫無行業(yè)通用工業(yè)APP對適用于整個行業(yè)的工業(yè)學問和閱歷軟件化后形成的工業(yè)APPAPP基于技術(shù)體系維度進APP。目前處于起步狀行業(yè)象均不一樣。2.工業(yè)軟件要有行業(yè)數(shù)態(tài)。通據(jù)學問庫做支撐,行業(yè)用數(shù)據(jù)學問庫,是指對行的業(yè)掌握軟件起支撐作用工的行業(yè)生產(chǎn)過程中閱歷業(yè)積存的集合。AP實現(xiàn)難點:P行業(yè)通用的工業(yè)軟件的實現(xiàn)難點在于如何對結(jié)構(gòu)、強度、動力、材料、化學等各不同行業(yè)共同需要的共性學問和閱歷進展抽象提取,再進展軟件化。制技術(shù)特點:1.SAP1.ERP1.國外軟件局部由于誕生年月較長遠,采造集成性、先進性、統(tǒng)一BusinessOne2.U9用的平臺有Novell、UNIX、NT及崛起業(yè)性、完整性、開放性2.OracleERP3.K/3的Linux實現(xiàn)難點:3.InforERP間,在平臺上大多只支持主流。1. 數(shù)據(jù)統(tǒng)一性和協(xié)調(diào)2.國外軟件穩(wěn)定性得到驗證,國內(nèi)軟件在性開發(fā)上僅僅經(jīng)受了幾年,系統(tǒng)的穩(wěn)定性與2. 保證系統(tǒng)反響時間否單單靠做演示是很難看出所以然。短3.國內(nèi)軟件實施的路線往往從財務(wù)入手,行其重點在于賬務(wù)處理并擴展到財務(wù)分析功業(yè)能,強調(diào)進、銷、存功能,在生產(chǎn)上能部應(yīng)分真正實現(xiàn)主生產(chǎn)打算,所以也無法準確用掌握本錢。軟4.國外軟件的模塊設(shè)計較為簡潔、有用,件很多知名ERP軟件目前在國內(nèi)主推的模MRPII設(shè)計是“大而全”的模式,往往涵蓋了MRPII以外的人事、薪資等,有的還穿插OA軟件的設(shè)計。智技術(shù)特點:1.美國才智農(nóng)業(yè)生1.上農(nóng)信水稻精中國的農(nóng)業(yè)大數(shù)據(jù)企業(yè)大多集中于農(nóng)業(yè)生慧1.產(chǎn)線系統(tǒng)準農(nóng)業(yè)系統(tǒng)產(chǎn)效率提升,又受限于產(chǎn)業(yè)構(gòu)造及農(nóng)業(yè)產(chǎn)農(nóng)農(nóng)業(yè)系統(tǒng)易實現(xiàn)種養(yǎng)殖2.Solum(土壤數(shù)據(jù)2.北京市農(nóng)業(yè)局值的“天花板”,很少涉及附加值高、影響業(yè)進程數(shù)據(jù)智能化、自動分析)基于北斗的農(nóng)機力大的農(nóng)產(chǎn)品定價、風險治理、農(nóng)業(yè)金融5化采集;

3.ClimateCorporati

高效作業(yè)和準確

創(chuàng)、品牌制造等領(lǐng)域。on(農(nóng)業(yè)氣象保險〕調(diào)度系統(tǒng)化生產(chǎn);環(huán)境數(shù)據(jù)采集和視頻監(jiān)安全預警;和流通全進程信息實時采集,實現(xiàn)從農(nóng)產(chǎn)品的全程溯源。實現(xiàn)難點:資源分散需要整體理解和把控醫(yī) 技術(shù)特點:養(yǎng) 涉及技術(shù)范圍廣健 1.智能感知類技術(shù)康 2.信息互通類技術(shù)實現(xiàn)難點:不同醫(yī)療安康場景承受的技術(shù)不同,具有肯定簡單性量的問題智技術(shù)特點:

日本共性化“網(wǎng)上農(nóng)場”式農(nóng)業(yè)運營模式HealthTapAmwellLybrate1.Cityzenith

3.托普物聯(lián)網(wǎng)智能溫室監(jiān)測系統(tǒng)丁香園春雨O2O在線醫(yī)生1.St

我國的重點放在信息化根底方面,醫(yī)療和互聯(lián)網(wǎng)結(jié)合不嚴密,技術(shù)程度不夠高,多數(shù)城市在試點建設(shè);國外較早運用先進信息技術(shù)理念與醫(yī)療結(jié)合,在醫(yī)療安康方面實現(xiàn)高度的智能化,提高醫(yī)療效率。中國才智城市平臺的應(yīng)用也不多,缺乏慧 1.城市體征信息數(shù)字化,2.阿姆斯特丹

療解決方案

統(tǒng)一的規(guī)劃和協(xié)調(diào)。各地才智城市通常局城 市 源共享數(shù)據(jù)挖掘自動分析處理命令多維可視化降到最低,捕獲反響信息,更改對大事的響應(yīng)實現(xiàn)難點數(shù)據(jù)的整合和協(xié)同信息安全

WestOrang;Geuzenveld格洛斯特智能屋試點

2.萬達信息才智城市解決方案

限于才智交通、才智醫(yī)療等少數(shù)行業(yè)。2.中國目前從事才智城市應(yīng)用研發(fā)的多是一些初創(chuàng)企業(yè),互聯(lián)網(wǎng)公司沒有對才智城市應(yīng)用研發(fā)領(lǐng)域過多關(guān)注,只是簡潔地將原有的產(chǎn)品APP放到了才智城市平臺上。63.從城市的實際動身,充分了解居民主體的物質(zhì)文化需求建筑技術(shù)特點:可視化AutodeskRevitNemetschek1. 廣Magicad聯(lián)達1. 的問題離散、技術(shù),難以滿足集成化的項信

ArchiCAD

2.建研院PKPM 目治理和方案設(shè)計需求。息

BIM

圍繞BIM的核心軟件如建模軟件、模建 協(xié)調(diào)數(shù)據(jù)

鴻業(yè)科技型分析軟件、設(shè)計模擬軟件等國內(nèi)還在研模 模擬性優(yōu)化性

BIMspace

發(fā)階段。短期內(nèi)更符合中國國情的工程治理軟件沒有相應(yīng)的技術(shù)根底和技術(shù)預備時間。智 技術(shù)特點:能 1. 交 廣泛應(yīng)用與效勞通 2. 管 通設(shè)施的運行效率理 3. 整體性要求嚴格

最優(yōu)自動適應(yīng)〔SCATS〕微機交通掌握系統(tǒng)〔BLISS〕智能交通大發(fā)

皖通科技城市智能化交通安全治理系統(tǒng)川大智勝高速行駛汽車號牌自動識別系統(tǒng) ,平臺方背后鮮有財團、巨頭與資原來推動,只能是利用自身的人脈個一個小區(qū)推動。 我國智能交通以硬件投入為總金額的80%以上,而歐美興旺國家的智能交通投入主要集中于軟件與效勞方〔跨行業(yè)、跨技術(shù)領(lǐng)域、展交通運輸系統(tǒng)

四維圖動 面。一代信息技術(shù)作支撐〕實現(xiàn)難點:標準和標準的混亂創(chuàng)技術(shù)與用戶需

〔ITS〕

態(tài)交通信息系統(tǒng)賽維智能才智PPP工程3. 交通數(shù)據(jù)分析技術(shù)3. 交通數(shù)據(jù)分析技術(shù)云技術(shù)特點:亞馬遜AWS阿里云云計算在國外進展較早,有較強的技術(shù)基計云計算是通過使計算分Azure騰訊云礎(chǔ)和運營閱歷,商業(yè)模式也較為清楚,尤算布在大量的分布式計算IBMCloud金山云其是在美國。而中國的云計算的進展正處機上,而非本地計算機谷歌云中國電信云于成長期,技術(shù)和商業(yè)模式學習歐美,采或遠程效勞器中,企業(yè)Next10UCloud用復制并本地化的進展方式。數(shù)據(jù)中心的運行將與互國內(nèi)更傾向于承受私有云的建設(shè)方式,這聯(lián)網(wǎng)更相像。主要是由于中國企業(yè)對云計算技術(shù)有慎重超大規(guī)模務(wù)實的態(tài)度,比方安全問題等。虛擬化由于云計算應(yīng)用不僅取決于虛擬化云平高牢靠性臺,網(wǎng)絡(luò)帶寬的影響更為重要,大量應(yīng)用通用性在云上實現(xiàn),需要高速的帶連接效勞和用高可擴展性戶,因比電信運商將成為全球范圍內(nèi)推動按需效勞云計算進展的中堅力氣。極其廉價潛在的危急性7安全性運維大 技術(shù)特點:

DomoTeradata Cloudera

建設(shè)重點:國內(nèi)企業(yè)側(cè)重于物理上數(shù)據(jù)存數(shù) 數(shù)據(jù)體量巨大據(jù) 價值密度低處理速度快實現(xiàn)難點:多數(shù)據(jù)源如何標準化數(shù)據(jù)。手段處理非構(gòu)造化和半構(gòu)造化數(shù)據(jù)。性、不確定性特征描述的刻畫方法及大數(shù)據(jù)的系統(tǒng)建模。數(shù)據(jù)異構(gòu)性與決策影響。人工智能智 技術(shù)特點:

Database.2.HitachiVantara3.TIBCz StatisticaPanoplyIBM Analytics1.蘋果語音機器人2.Watson3.AmazonMachine4.Leanin1.韓國海爾集團

星環(huán)Transwarp阿里數(shù)加FusionInsight網(wǎng)易猛犸汽車場景覺自然語言處理華為人工智能芯片訊飛超腦打算1.COLMO的智

儲力量建設(shè),而國外企業(yè)則已經(jīng)主要側(cè)重分析工具手段和圍繞用戶的解決方案開發(fā)。自為戰(zhàn)”、“平地起樓”的建設(shè)方式,從根底層面分頭進展大數(shù)據(jù)存儲或處理的開發(fā)。國外企業(yè)卻多承受收購兼并、合作開處理、分析綜合進展,而不偏于一隅。技術(shù):智能家居不等于手機應(yīng)用掌握家能 1.設(shè)計時更強調(diào)軟硬件嵌

U-HOME系列

CUE才是最好解決方案,但與其匹配家 協(xié)同工作的效率和穩(wěn)定入電 性式結(jié)果通常需要固化在軟目標系統(tǒng)的儲存器或處件理器內(nèi)部儲存器資源中。

2.美國Control4采用無線Zigbee方案,能與幾千種世界知名品牌電子產(chǎn)品完善整合,能掌握幾乎全部您知道

洗衣機、煮飯機器人、家用空調(diào)統(tǒng)的:華為、小米、格力等致力于做平臺8

的技術(shù)ASRNLP都還需要時間更好的產(chǎn)品落地。尤其是在中國一個地方方言就完全是另一套語音的狀況下,ASR所面臨的挑戰(zhàn)也更大。戶型:國外整體戶型偏大,中國戶型偏小。戶型小意味著家居掌握更便利更少痛具、目標系統(tǒng)、測試設(shè)

在流行使用的各種

的:阿里、京東智能音響:天

點,再遠的燈走一兩步就能關(guān)了,干嘛非得智能呢。備。 設(shè)備和系統(tǒng)。

3.不信任:不行無視的是電子產(chǎn)品與家裝對實時性的要求更高。對抗干擾性和牢靠性的要求很高。代碼大小也要考慮。

3.美國快思聰為控設(shè)備。

蘋果、華為5.智能門鎖:凱曼、物連

的在用戶腦海中已經(jīng)定型的迭代時差,電子產(chǎn)品給大家印象是幾年一換甚至更快,而家居卻是十年一換甚至更慢。這種落差會讓用戶產(chǎn)生遲疑,延長出來就是質(zhì)量上“會不會簡潔壞”?性價比:智能意味著更豐富力量的傳感器、更好的芯片和更貴的價位,在潮流降臨前,為非剛需掏錢的總是少數(shù)。2、Maven練習一、Maven安裝與配置Maven的下載從該網(wǎng)站“:///download.cgi“:///download.cgi下載MavenMAVEN_HOMEMaven的安裝路徑PATHMAVAEN_HOMEcmd中輸入mvn–v消滅如以下圖所示說明配置成功Ps:實際操作中,遺忘使用治理員身份翻開命令行窗口,導致檢查失敗5.配置本地倉庫在任意盤符下建一個名目作為倉庫Mavenconfsettings.xml配置文件,settings.xml文件進展配置本地倉庫,參加這句話<localRepository>D:\my_maven_local_repository</localRepository>Maven工程Maven的工程構(gòu)造9src-main–javajava–resources資源庫,會自動復制到classes–filters資源過濾文件–webappwebWEB-INF、css、js–test–java單元測試java–resources測試需要用的資源庫–filters測試資源過濾庫–assembly組件的描述配置〔如何打包〕–it集成測試(主要用于插件)–siteSite〔一些文檔〕targetpom.xmlmavenpomMaven引入外部依靠pom.xml的dependencies列表列出了我們的工程需要構(gòu)建的全部外部依靠項。在src文件夾下添加lib文件夾,然后將需要的jar文件復制到lib文件夾下。pom.xml文件中:<dependencies>10<!--添加依靠--><dependency><groupId>ldapjdk</groupId><!--庫名稱,也可以自定義-->、<artifactId>ldapjdk</artifactId><!--庫名稱,也可以自定義--><version>1.0</version><!--版本號--><scope>system</scope><!--作用域--><systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath><!--工程根名目下的lib</dependency></dependencies>3、Java反射機制原始設(shè)計模式interfaceFruit{publicvoideat;}classAppleimplementsFruit{publicvoideat{System.out.println(“**蘋果“);}};classOrangeimplementsFruit{publicvoideat{System.out.println(“**橘子“);}};classBananaimplementsFruit{publicvoideat{System.out.println(“**香蕉“);11}};classFactory{publicstaticFruitgetInstance(StringclassName){Fruitfruit=null;try{fruit=(Fruit)Class.forName(className).newInstance;}catch(Exceptione){e.printStackTrace;}returnfruit;}};publicclassFactoryDemo01{publicstaticvoidmain(Stringargs[]){Fruitf=Factory.getInstance(“org.lxh.demo15.factorydemo01.Apple“);if(f!=null){f.eat;}}};,F(xiàn)actoryJava反射機制實現(xiàn)工廠模式。interfaceFruit{publicvoideat;}classAppleimplementsFruit{12publicvoideat{System.out.println(“**蘋果“);}};classOrangeimplementsFruit{publicvoideat{System.out.println(“**橘子“);}};classBananaimplementsFruit{publicvoideat{System.out.println(“**香蕉“);}};classInit{publicstaticPropertiesgetPro{Propertiespro=newProperties;Filef=newFile(“d:\\perties“);//找到屬性文件try{if(f.exists){pro.load(newFileInputStream(f));}else{pro.setProperty(“apple“,“org.lxh.demo15.factorydemo02.Apple“)pro.setProperty(“orange“,“org.lxh.demo15.factorydemo02.Orange“);pro.store(newFileOutputStream(f),“FRUITCLASS“);13}}catch(Exceptione){}returnpro;}};classFactory{publicstaticFruitgetInstance(StringclassName){Fruitfruit=null;try{fruit=(Fruit)Class.forName(className).newInstance;}catch(Exceptione){e.printStackTrace;}returnfruit;}};publicclassFactoryDemo02{publicstaticvoidmain(Stringargs[]){Propertiespro=Init.getPro;Fruitf=Factory.getInstance(pro.getProperty(“apple“));if(f!=null){f.eat;}}};4、動態(tài)代理模式CGLIBAOP〔Springdynaop〕14HibernateORMCGLIB來代理單端〔多對一和一對一〕關(guān)聯(lián)〔延遲提取集合使用的另一種機制。POM文件中引入cglibdependency<dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>2.2.2</version></dependency>測試用例“helloworld”publicclassSampleClass{publicvoidtest{System.out.println(“helloworld“);}publicstaticvoidmain(String[]args){Enhancerenhancer=newEnhancer;enhancer.setSuperclass(SampleClass.class);enhancer.setCallback(newMethodInterceptor{@OverridepublicObjectintercept(Objectobj,Methodmethod,Object[]args,MethodProxyproxy)throwsThrowable{System.out.println(“beforemethodrun...“);Objectresult=proxy.invokeSuper(obj,args);System.out.println(“aftermethodrun...“);returnresult;}});SampleClasssample=(SampleClass)enhancer.create;sample.test;15}}運行結(jié)果beforemethodrun...helloworldaftermethodrun...6、緩存MemcachedJava程序向創(chuàng)立的數(shù)據(jù)庫表中添加、修改數(shù)據(jù)Java3分鐘〔3分鐘〕向數(shù)據(jù)庫查詢一次點擊量最高的5條聞〔此處以聞網(wǎng)站為例,并保存到d緩存效勞其中Java程序從緩存中查詢出點擊量最高的5條聞工程構(gòu)造局部代碼DBHelper.java//連接數(shù)據(jù)庫16Demo.java17Test.java運行結(jié)果187、設(shè)計模式——裝飾模式工程構(gòu)造局部代碼Test.java19運行結(jié)果8.SpringXML1.工程構(gòu)造局部代碼Application.xml<beanid=“apple“class=“shopingcar.Apple“><propertyname=“price“value=“8“></property><propertyname=“heavy“value=“10“></property><propertyname=“quality“value=“good“></property></bean>20<beanid=“beer“class=“shopingcar.Beer“><propertyname=“price“value=“2“></property><propertyname=“place“value=“QingDao“></property></bean><beanid=“basket“class=“shopingcar.BuyBasket“></bean><beanid=“customer“class=“shopingcar.Customer“></bean><beanid=“cashier“class=“shopingcar.Cashier“></bean>Buybasket.java21Test.java運行結(jié)果二、應(yīng)用自動裝配方式實現(xiàn)策略模式1.工程構(gòu)造22局部代碼Sale.javaTest.java23運行結(jié)果9、AOPjarspring.jarlog4j-1.2.16.jaraspectjrt.jar24aspectjweaver.jarcommons-logging.jarLogimportorg.apache.log4j.Logger;importorg.aspectj.lang.JoinPoint;importorg.aspectj.lang.ProceedingJoinPoint;publicclassLogAspect{Loggerlogger=Logger.getLogger(LogAspect.class);StringlogStr=null;publicvoiddoBefore(JoinPointjp){logStr=jp.getTarget.getClass.getName+“類的“+jp.getSignature.getName+“方法開頭執(zhí)行;(logger);}publicObjectdoAround(ProceedingJoinPointpjp){longTime=System.currentTimeMillis;Objectresult=null;try{result=ceed;}catch(Throwablee){e.printStackTrace;logStr=“方法:“+pjp.getTarget.getClass+“.“+pjp.getSignature.getName+““;logStr=logStr+“錯誤信息如下:[“+e+“]“;(logStr);}25returnresult;}publicvoiddoAfter(JoinPointjp){(logStr);}}springApplicationContext.xmlAOP<beanid=“l(fā)ogAspect“class=“yan.joanna.log.LogAspect“></bean><aop:config><aop:aspectid=“aspect“ref=“l(fā)ogAspect“><aop:beforepointcut-ref=“l(fā)ogService“method=“doBefore“/><aop:afterpointcut-ref=“l(fā)ogService“method=“doAfter“/><aop:aroundpointcut-ref=“l(fā)ogService“method=“doAround“/></aop:aspect></aop:config><beanid=“UserAction“class=“yan.joanna.action.UserAction“scope=“prototype“><propertyname=“userDAO“ref=“UserDAO“></property><propertyname=“maindeviceDAO“ref=“MaindeviceDAO“></property><propertyname=“amountDAO“ref=“AmountDAO“></property><propertyname=“deviceUsingDAO“ref=“DeviceUsingDAO“></property></bean>pertieslog4j.rootLogger=info,stdout,Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppender26log4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayout5.業(yè)務(wù)日志的打印,UserActionpublicvoidloginthrowsIOException{ServletRequestreq=ServletActionContext.getRequest;ServletResponseresp=ServletActionContext.getResponse;req.setCharacterEncoding(“UTF-8“);resp.setCharacterEncoding(“UTF-8“);Stringtel=req.getParameter(“tel“);JYLog.printLog(“l(fā)ogin-登錄-Timestamp-“+newTimestamp(System.currentTimeMillis)+“;tel-“+tel);PrintWriterout=resp.getWriter;JSONObjectjson=newJSONObject;JSONObjectdataJson=newJSONObject;Stringmessage=““;Interrorcode=0;if(!““.equals(tel)){Useruser=userDAO.findByAccount(tel);if(user==null){userDAO.save(newUser(tel,newTimestamp(System.currentTimeMillis),newTimestamp(System.currentTimeMillis),1));user=userDAO.findByAccount(tel);amountDAO.save(newAmount(user,100,0));}else{27userDAO.updateLoginTime(user);}dataJson.put(“id“,user.getId);dataJson.put(“account“,user.getAccount);dataJson.put(“type“,user.getType);message=“登錄成功“;errorcode=0;}json.put(“data“,dataJson);json.put(“message“,message);json.put(“errorcode“,errorcode);out.print(json);out.flush;out.close;JYLog.printLog(“l(fā)ogin-登錄-json-“+json.toString);}6.日志打印文件內(nèi)容局部顯示11webservice編寫查詢接口28接口實現(xiàn)類編寫效勞端點公布掃瞄器訪問效勞端點公布的地址://:12345/weather?wsdlWindowswsimport-s.://:12345/weather?wsdl生成如下文件29訪問實現(xiàn)查詢運行結(jié)果3012、SSM大作業(yè)工程構(gòu)造數(shù)據(jù)庫31測試數(shù)據(jù)庫表〔User〕privateStringid;privateStringusername;privateStringpassword;privateStringcompany;privateIntegerage;privateIntegersex;局部代碼UserController.javapublicclassUserController{@Resource(name=“userService“)privateUserServiceuserService;/***依據(jù)id查詢*/@RequestMapping(value=“/queryById“)publicModelAndViewqueryById(ServletRequestrequest){ModelAndViewmv=newModelAndView;Stringid=request.getParameter(“id“);try{Uservar=userService.findById(id);mv.setViewName(“/queryshow“);mv.addObject(“var“,var);}catch(Exceptione){e.printStackTrace;}returnmv;32}@RequestMapping(value=“/shanById“)publicModelAndViewshanById(ServletRequestrequest){ModelAndViewmv2=newModelAndView;Stringid=request.getParameter(“id“);try{userService.deleteById(id);mv2.setViewName(“shanshow“);}catch(Exceptione){e.printStackTrace;}returnmv2;}}UserService.java@Service(“userService“)publicclassUserService{@ResourceprivateUserMapperdao;/**通過id獵取數(shù)據(jù)*/publicUserfindById(Stringid)throwsException{return(User)dao.selectByPrimaryKey(id);33}publicvoiddeleteById(Stringid)throwsException{dao.deleteByPrimaryKey(id);}}Queryshow.jsp<%@language=“java“contentType=“text/html;charset=utf-8“<%@import=“com.pojo.*“%><!DOCTYPEhtmlPUBLIC“-//W3C//DTDHTML4.01Transitional//EN““:///TR/html4/loose.dtd““:///TR/html4/loose.dtd“><html><head><styletype=“text/css“>.tableth,.tabletd{text-align:center;vertical-align:middle!important;}</style><meta-equiv=“Content-Type“content=“text/html;charset=utf-8“>34<title>查詢頁面</title><styletype=“text/css“>.tdtd{width:100px;}.tab

溫馨提示

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

評論

0/150

提交評論