国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

高手支招 Java經驗分享(十一)

開發 后端
本篇文章是作者Ant_Yan在CSDN論壇上發布的自己對Java學習的一些經驗分享。這是他經驗分享的第十一部分。

  這篇文章,筆者繼續與大家分享Java學習經驗。今天的主題是目前很流行也很好的一個開源框架-Spring。

  引用《Spring2.0技術手冊》上的一段話:

  Spring的核心是個輕量級容器,它是實現IoC容器和非侵入性的框架,并提供AOP概念的實現方式;提供對持久層、事務的支持;提供MVC Web框架的實現,并對于一些常用的企業服務API提供一致的模型封裝,是一個全方位的應用程序框架,除此之外,對于現存的各種框架,Spring也提供了與它們相整合的方案。

  接下來筆者先談談自己的一些理解吧,Spring框架的發起者之前一本很著名的書名字大概是《J2ee Development without EJB》,他提倡用輕量級的組件代替重量級的EJB。筆者還沒有看完那本著作,只閱讀了部分章節。其中有一點分析覺得是很有道理的:

  EJB里在服務器端有Web Container和EJB Container,從前的觀點是各層之間應該在物理上隔離,Web Container處理視圖功能、在EJB Container中處理業務邏輯功能、然后也是EBJ Container控制數據庫持久化。這樣的層次是很清晰,但是一個很嚴重的問題是Web Container和EJB Container畢竟是兩個不同的容器,它們之間要通信就得用的是RMI機制和JNDI服務,同樣都在服務端,卻物理上隔離,而且每次業務請求都要遠程調用,有沒有必要呢?看來并非隔離都是好的。

  再看看輕量級和重量級的區別,筆者看過很多種說法,覺得最有道理的是輕量級代表是POJO + IoC,重量級的代表是Container + Factory。(EJB2.0是典型的重量級組件的技術)我們盡量使用輕量級的Pojo很好理解,意義就在于兼容性和可適應性,移植不需要改變原來的代碼。而Ioc與Factory比起來,Ioc的優點是更大的靈活性,通過配置可以控制很多注入的細節,而Factory模式,行為是相對比較封閉固定的,生產一個對象就必須接受它全部的特點,不管是否需要。其實輕量級和重量級都是相對的概念,使用資源更少、運行負載更小的自然就算輕量。

  話題扯遠了,因為Spring框架帶來了太多可以探討的地方。比如它的非侵入性:指的是它提供的框架實現可以讓程序員編程卻感覺不到框架的存在,這樣所寫的代碼并沒有和框架綁定在一起,可以隨時抽離出來,這也是Spring設計的目標。Spring是唯一可以做到真正的針對接口編程,處處都是接口,不依賴綁定任何實現類。同時,Spring還設計了自己的事務管理、對象管理和Model2 的MVC框架,還封裝了其他J2ee的服務在里面,在實現上基本都在使用依賴注入和AOP的思想。由此我們大概可以看到Spring是一個什么概念上的框架,代表了很多優秀思想,值得深入學習。筆者強調,學習并不是框架,而是框架代表的思想,就像我們當初學Struts一樣……

  1.Spring MVC

  關于IoC和AOP筆者在上篇已經稍微解釋過了,這里先通過Spring的MVC框架來給大家探討一下Spring的特點吧。(畢竟大部分人已經很熟悉Struts了,對比一下吧)

  眾所周知MVC的核心是控制器。類似Struts中的ActionServlet,Spring里面前端控制器叫做DispatcherServlet。里面充當Action的組件叫做Controller,返回的視圖層對象叫做ModelAndView,提交和返回都可能要經過過濾的組件叫做Interceptor。

  讓我們看看一個從請求到返回的流程吧:

  (1) 前臺Jsp或Html通過點擊submit,將數據裝入了request域

  (2) 請求被Interceptor攔截下來,執行preHandler()方法出前置判斷

  (3) 請求到達DispathcerServlet

  (4) DispathcerServlet通過Handler Mapping來決定每個reuqest應該轉發給哪個后端控制器Controller

  (5) 各式各樣的后端控制器Controller來處理請求,調用業務層對象來處理業務邏輯,然后返回一個ModelAndView對象

  (6) 當Controller執行完畢,Interceptor會調用postHandle來做后置處理

  (7) ModelAndView代表了呈現畫面是使用的Model數據對象和View對象,由于只能返回一個對象所有起了這個名字封裝這兩個對象。

  (8) 由ViewResolver對象來解析每個返回的ModelAndView對象應該呈現到哪一個視圖(Jsp/Html等)中(包括Exception Resolver)

  (9) 當View繪制完成之后Interceptor又會跳出來執行它的afterCompletion方法做善后處理。當然Interceptor的行為完全是配置的而不是強制的。

  這樣一個完整的流程就這樣結束了,個人感覺Spring的MVC框架稍顯復雜,不像Struts-1那么容易上手。不管是Controller、Model、ViewRosovler、Handle Mapping還是View,Spring MVC框架都已經為你提供了多種實現,想最大程度的減少程序員的編碼,增加框架的適用性。大家有興趣可以繼續深入研究哈!

  2.Spring AOP

  記得最初筆者請教他人Spring是一個什么東西的時候,每個人都會提到AOP這個詞語。筆者在上一篇已經解釋過AOP基本原理,這次來跟大家說說Spring的AOP編程吧。不同的AOP框架會有其對AOP概念不同的實現方式,主要的差別在于所提供的Pointcut、Aspects的豐富程度,以及它們如何被織入應用程序、代理的方式等等。先熟悉一下AOP中的幾個重要概念:

  (1) Cross-cutting:橫切,說白了就是需要統一處理的集合

  (2) Aspects:將散落各處的橫切收集起來,設計成各個獨立可重用的對象稱為Aspects。

  (3) Advice: 對橫切的具體實現,即等待插入一段邏輯。

  (4) Joinpoint:Advice插入流程的時機點。

  (5) Pointcut: 用于選擇Joinpoint的程序結構,可以通過Annotation或者XML實現。

  (6) Weave: Advice被應用至對象之上的過程稱之為織入,有編譯期、類加載期、運行期三種時間點策略。

  如果你采用實現接口的方式,Spring會在執行時期適用java的動態代理,如果不實現接口,Spring會使用CGLIB產生代理類。AOP的概念很大很泛,而Spring只使用了其中的部分特性,畢竟Spring的目標是輕量級框架,比如它只支持對Method的Joinpoint,而不支持對Field的Joinpoint,理由是為了封裝性。

  其實我們可以把概念看得簡單一點,AOP的目的是減少冗余代碼,增強對較大項目的全局監控。Spring利用AOP可以規定一個集合和一套規則,在這個集合里所有的方法被invoke即調用的時候,都必須按照那套規則走一遍。那么首先對其中10個方法都要用到的處理代碼就只用寫一遍,如果是這10個方法來了就織入這段代碼;其次,按照規則,也許所有的牽扯某個模塊的方法調用的時候,我都需要做日志或者進行驗證,那么我只要立足于這個集合的入口和出口,管他從哪里來去哪里,都能被有效的監控。我監控的可能不止是某個方法單獨的行為,我還可以加入對流程控制的監控規則。例如是論壇,我規定注冊了才能登錄,而登錄后才能發帖回帖下資源,于是所有這類流程都會被收集到我眼皮地下通過。

  PS:筆者最近只是接觸Spring的MVC比較多,對于Spring的其他特性,還沒有更多的去實踐,所以僅僅是泛泛而談,只是介紹一個印象罷了。還是那句話,我們學習一個框架不是如何使用,而是它所帶來的優秀的思想和理念,這比如何使用這個框架更有意義得多。

【編輯推薦】

  1. 新手入門:學習Java的一點經驗心得
  2. 61條Java面向對象設計的經驗原則
  3. 經驗分享:我的JavaEE學習道路
  4. Java對象類型轉換的四個經驗
  5. 高手支招 Java經驗分享(一)
責任編輯:韓亞珊 來源: CSDN
相關推薦

2011-03-31 15:36:02

Java

2011-03-31 14:49:35

2011-03-31 13:56:24

Java

2011-03-31 13:32:13

Java

2011-03-31 14:07:27

Java

2011-03-31 16:49:40

Java

2011-03-31 13:52:22

Java

2011-03-31 16:26:28

Java

2011-04-07 13:18:00

管理軟件項目項目

2009-10-29 16:57:05

Oracle傳輸表空間

2010-07-21 14:05:31

2014-05-28 10:55:11

Windows XP安全補丁

2018-06-19 08:12:55

2010-08-18 14:19:01

無線路由器

2009-09-28 10:52:00

CCNA考試經驗CCNA

2014-11-11 10:25:52

2009-12-07 11:11:46

PHP顯示圖片

2011-05-16 17:36:05

SEO

2009-12-16 16:37:59

Ruby on Rai

2011-07-15 17:35:19

JavaScript
點贊
收藏

51CTO技術棧公眾號

欧洲成人性视频| 婷婷激情图片久久| 亚洲黄页在线观看| 久久精品综合网| 日本高清视频精品| 2018av在线| 亚洲精品国产九九九| 精品成人一区二区三区四区| 在线观看国产视频一二三| 久久综合色综合88| 777久久精品一区二区三区无码 | 碰碰在线视频| 91精品国产综合久久精品性色| 中文在线a√在线8| 亚洲成人手机在线| 免费国产视频| 亚洲一区二区美女| 性综艺节目av在线播放| 综合自拍亚洲综合图不卡区| 欧美精品性生活| 中文字幕一区二区三区精华液| 亚洲成人福利在线观看| 国产欧美一二三区| 四色永久网址| 夜夜嗨av一区二区三区中文字幕| 国产女主播在线| 亚洲自拍欧美精品| 国内在线精品| 日韩一区二区三| 欧亚在线中文字幕免费| 国产一区二区日韩精品欧美精品| 丝袜老师在线| 麻豆一区二区在线观看| av一级久久| 欧美一区二区.| 不卡日本视频| 国产成人成网站在线播放青青| 尤物网精品视频| 亚洲成人网上| 成人av电影在线| 97影视在线观看| 91高清视频在线| 国产一线二线在线观看 | 日韩精品一级中文字幕精品视频免费观看 | 自拍偷拍亚洲在线| 99热这里只有精品首页| 国产成+人+综合+亚洲欧美丁香花| 精品一二三区| 久久99精品久久久久久三级| 久久国产精品99久久久久久老狼| 成人av在线播放观看| 久久精品亚洲精品国产欧美kt∨| 亚洲 高清 成人 动漫| 国产精品国产三级国产aⅴ中文| 意大利激情丛林无删减版dvd| 91久久精品网| 国产免费不卡| 日本三级久久久| 久久xxxx精品视频| 日韩中文字幕三区| 精品久久久一区二区| 成年人黄视频在线观看| 一区三区二区视频| 欧美色婷婷久久99精品红桃| 久久伦理网站| 久久综合久久鬼色中文字| 一级二级三级在线观看| 亚洲国产精品视频在线观看| 北条麻妃在线一区二区免费播放| 91免费看国产| av亚洲精华国产精华| 在线观看av中文| 精品亚洲一区二区三区在线观看 | 欧美网站一区二区| 久久99久久久精品欧美| 国产精品男人爽免费视频1| 老司机精品久久| 国产区二区三区| 日韩三级av在线播放| 亚洲精品一二三**| 欧美下载看逼逼| 亚洲色欲色欲www| 1区2区3区在线| 亚洲a在线观看| 成人午夜大片免费观看| 久草视频在线播放| 国产一区二区免费| 亚洲国内自拍| 美女激情网站| 精品国产一区二区在线| 亚洲中字在线| 最近最新中文字幕在线| 亚洲性xxxx| 国产亚洲激情| 在线观看av网站| 欧美日韩国产va另类| 蜜桃久久久久久| 精品三级久久久久久久电影聊斋| 欧美黄色三级网站| 国产一区二区在线看| 91精品国产91久久久久游泳池| 性视频1819p久久| 国产精品系列在线播放| 精品成人一区二区三区免费视频| 久久天天躁夜夜躁狠狠躁2022| 媚黑女一区二区| 青青色在线视频| 日本不卡免费高清视频| 2023国产精品自拍| 一二三四视频在线中文| 美女被啪啪一区二区| 天天免费综合色| 欧美电影在线观看免费| 噜噜噜久久亚洲精品国产品麻豆| 亚洲精品在线免费播放| 国产欧美一级| 91美女视频在线| 99伊人久久| 欧美午夜激情视频| 欧美肥老太太性生活| 四虎国产成人永久精品免费| 久久精品99久久久久久久久 | 成人黄色短视频在线观看| 国产偷国产偷精品高清尤物| 国产毛片精品久久| 亚洲一区二区免费视频软件合集| 91精品欧美久久久久久动漫 | 欧美在线视频网| 国产亚洲制服色| 精品国产一区二| 成人毛片视频网站| 欧美国产日本| 中文字幕高清在线| 国产精品电影观看| 亚洲地区一二三色| 国产二区精品| 福利片在线观看| 黑人巨大精品欧美一区二区小视频 | 黄色免费网站在线观看| 国产精品乱码| 678五月天丁香亚洲综合网| 好吊日精品视频| 欧美一区二区少妇| 91文字幕巨乱亚洲香蕉| 在线精品国精品国产尤物884a| 国产精品videosex性欧美| 免费在线黄色网址| 亚洲不卡av一区二区三区| 国内国产精品久久| 色婷婷成人在线| 日韩av手机在线| 亚洲6080在线| 国产精品大片| 成人超碰在线| 黄色动漫网站入口| 91av在线不卡| 亚洲va在线va天堂| 亚洲经典在线| 在线观看网站免费入口在线观看国内| 女人床在线观看| 久久久久久久色| 五月激情六月综合| 免费日韩av片| 91福利精品在线观看| 成人满18在线观看网站免费| 91久久国产综合久久91精品网站| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美三区免费完整视频在线观看| 国产精品免费看| 最新日韩一区| 天天色综合6| 成人91视频| 亚洲精品资源在线| 国产麻豆欧美日韩一区| 亚洲精品影片| 亚洲乱亚洲乱妇| 成人短视频在线观看免费| 2019最新中文字幕| 5858s免费视频成人| 99精品国产91久久久久久| 欧美男gay| 狠狠操一区二区三区| 四虎永久在线高清国产精品| 国产乱码精品一区二区三区不卡| 亚洲欧美中文日韩在线v日本| 国产精品美日韩| 久久久999| 日韩a级大片| 中中文字幕av在线| 三级短视频在线| 夜夜爽99久久国产综合精品女不卡 | av在线dvd| 久久久com| 午夜在线一区二区| 一区二区三区高清在线观看| 亚乱亚乱亚洲乱妇| 午夜激情在线观看视频| 青青影院一区二区三区四区| 青草青草久热精品视频在线观看| 精品精品国产高清一毛片一天堂|