大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) 2020年Java面試題框架部分集

2020年Java面試題框架部分集

更新時(shí)間:2019-12-20 14:08:18 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2283次

SSH三大框架的概述

  SSH為 struts+spring+hibernate的一個(gè)集成框架,是目前較流行的一種Web應(yīng)用程序開(kāi)源框架。

  集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層(實(shí)體層),以幫助開(kāi)發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。

  struts標(biāo)簽庫(kù):Struts2默認(rèn)的表達(dá)式語(yǔ)言是OGNL(Object-Graph Navigation Language),通過(guò)它可以存取對(duì)象的任意屬性、調(diào)用對(duì)象的方法、遍歷整個(gè)對(duì)象的結(jié)構(gòu)圖、實(shí)現(xiàn)字段類型轉(zhuǎn)換等功能。

  JSP: HTML文件中插入Java程序段和JSP標(biāo)記。

  web.xml: Struts2核心過(guò)濾器和監(jiān)聽(tīng)器

  struts.xml: 管理應(yīng)用中的Action映射,及Action處理結(jié)果和物理資源之間的映射。

  applicationContext.xml: 整合了struts和Hibernate。

  .hbm.xml:O/R Mapping(Object Relational Mapping)映射文件,實(shí)體和表的映射關(guān)系通過(guò)XML來(lái)描述的文件。在項(xiàng)目啟動(dòng)的時(shí)候加載到內(nèi)存中。

  PO:Persistent Object,持久化對(duì)象

  整體的調(diào)用關(guān)系:JSP–Action–Service–DAO–PO–數(shù)據(jù)庫(kù)

  什么是struts2

  Struts2是一個(gè)基于MVC設(shè)計(jì)模式的Web應(yīng)用控制層框架,功能就是完成jsp頁(yè)面和后臺(tái)java代碼的傳值和跳轉(zhuǎn)。

  Struts2的運(yùn)行原理

  1:當(dāng)前臺(tái)發(fā)送一個(gè)以規(guī)定后綴相同的請(qǐng)求時(shí) 如:.action struts核心控制器會(huì)對(duì)其進(jìn)行過(guò)濾攔截 核心控制器StrutsPrepareAndExecuteFilter

  2:核心控制器攔截請(qǐng)求后會(huì)根據(jù)請(qǐng)求的路徑找到對(duì)應(yīng)的java代碼,通過(guò)路徑中的類名(!前的部分)匹配struts.xml中action標(biāo)簽中的name屬性來(lái)找到具體訪問(wèn)的類,!后的部分匹配類中的方法名

  3:當(dāng)java類中完成處理邏輯會(huì)返回一個(gè)字符串,根據(jù)字符串匹配struts.xml中result標(biāo)簽的name屬性,然后跳轉(zhuǎn)到result標(biāo)簽內(nèi)容指定的頁(yè)面。

  Spring

  簡(jiǎn)單來(lái)說(shuō),spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IOC)和面向切面(AOP)的容器框架。

  ◆ 輕量——從大小與開(kāi)銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的 處理開(kāi)銷也是微不足道的。此外,Spring是非侵入式的:典型地, Spring應(yīng)用中的對(duì)象不依賴于Spring的特定類。

  ◆ 控制反轉(zhuǎn)——Spring通過(guò)一種稱作控制反轉(zhuǎn)(IOC)的技術(shù)促進(jìn)了松 耦合。當(dāng)應(yīng)用了IOC,一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過(guò)被動(dòng)的方式傳遞 進(jìn)來(lái),而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象。 這也是說(shuō)spring是非侵入式的,動(dòng)態(tài)注入對(duì)象,讓一個(gè)對(duì)象的創(chuàng)建 不用new,可以自動(dòng)生成,這就是利用JAVA里的反射,反射其實(shí)就是 在運(yùn)行時(shí)動(dòng)態(tài)的去創(chuàng)建、調(diào)用對(duì)象及其方法,spring就是在運(yùn)行時(shí),跟 xml spring的配置文件來(lái)動(dòng)態(tài)的創(chuàng)建對(duì)象,和調(diào)用對(duì)象里面的方法 反射技術(shù)的使用使得我們不再像原始的工廠方法模式那樣創(chuàng)建對(duì)象。反 射可以非常靈活的根據(jù)類的名稱創(chuàng)建一個(gè)對(duì)象。所以spring只使用了 Prototype和Singleton這兩個(gè)基本的模式。

  ◆ 面向切面——Spring提供了面向切面編程的豐富支持,允許通過(guò)分離 應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和事務(wù) (transaction)管理,主要實(shí)現(xiàn)對(duì)事務(wù)的管理)進(jìn)行內(nèi)聚性的開(kāi)發(fā),其 機(jī)理來(lái)自于代理模式。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯 ——僅此而已。它們并不負(fù)責(zé)(甚至是意識(shí))其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例 如日志或事務(wù)支持。

  ◆ 容器——Spring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建——基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。Spring是一個(gè)容器,凡是在容器里的對(duì)象才會(huì)有Spring所提供的這些服務(wù)和功能。凡是在spring的配置文件里面配置了,才能被spring管理;并享用spring提供的服務(wù) 。

  ◆ 框架——Spring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開(kāi)發(fā)留給了你。 所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測(cè)試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。

  談Spring這個(gè)問(wèn)題的時(shí)候,首先Spring中最為重要的無(wú)非就是IOC和AOP,而對(duì)IOC來(lái)講,你講一下IOC的定義,IOC就是說(shuō)對(duì)象本身的創(chuàng)建不依賴應(yīng)用本身,而是依賴于外部容器,如果沒(méi)有IOC那么我們?cè)谖覀兊臉I(yè)務(wù)類,要調(diào)用DAO的方法,那么不得不做的一個(gè)動(dòng)作就是創(chuàng)建一個(gè)DAO的實(shí)現(xiàn)類的實(shí)例,而創(chuàng)建這個(gè)對(duì)象本身是跟業(yè)務(wù)無(wú)關(guān)的,而這樣違反了“高內(nèi)聚,低耦合”,使類與類的聯(lián)系非常緊密了。即使你不用new,你使用工廠模式,使用單利模式,也跟上面說(shuō)的效果是一樣的,而Spring本身就是一個(gè)大工廠,他幫我們?cè)鞂?duì)象,幫我們管理bean對(duì)象,它幫我們注入我們所需的bean對(duì)象,這樣對(duì)于以后的維護(hù)來(lái)講,變的更為方便,也把與業(yè)務(wù)本身無(wú)關(guān)的東西提取出來(lái)了。體現(xiàn)了低耦合。而AOP本身就是一種思想,意為面向切面編程,而Spring對(duì)AOP做了部分實(shí)現(xiàn),(舉例說(shuō)明)如果沒(méi)有AOP,比如我們開(kāi)發(fā)的系統(tǒng)中有發(fā)郵件,寫日志,可想而知,系統(tǒng)中發(fā)郵件,寫日志絕對(duì)的不是在一個(gè)地方用到,那么怎么辦,肯定是在業(yè)務(wù)中寫著重復(fù)的代碼,而且干著與業(yè)務(wù)無(wú)關(guān)的事情,也就是說(shuō)讓發(fā)郵件,寫日志跟業(yè)務(wù)一起混合在一起,那么這樣肯定是不合理的。那么該怎么辦,因此Spring提供了AOP,在你想寫日志的方法給你切開(kāi),加入日志的操作,剛剛說(shuō)spring是大工廠,那么對(duì)于spring的AOP來(lái)講,我更加喜歡把它比喻成化妝師,只有你讓spring幫你化妝,就能達(dá)到你意想不到的效果,總的來(lái)講spring的AOP技術(shù),他幫我們做很多與業(yè)務(wù)無(wú)關(guān)的操作,讓業(yè)務(wù)層次更加清晰。

  Spring AOP事務(wù)的描述:

  在applicationContent.xml里通過(guò)aop:config里面先設(shè)定一個(gè)表達(dá)式,設(shè)定對(duì)service里那些方法 如:對(duì)add* ,delete*,update*等開(kāi)頭的方法進(jìn)行事務(wù)攔截。我們需要配置事務(wù)的傳播(propagation=“REQUIRED”)特性,通常把增,刪,改以外的操作需要配置成只讀事務(wù)(read-only=“true”).只讀事務(wù)可以提高性能。之后引入tx:advice,在tx:advice引用 transactionManager(事務(wù)管理),在事務(wù)管理里再引入sessionFactory,sessionFactory注入 dataSource,最后通過(guò)aop:config引入txAdvice。

  事物的7種傳播特性

  opropagation_requierd:如果當(dāng)前沒(méi)有事務(wù),就新建一個(gè)事務(wù),如果已存在一個(gè)事務(wù)中,加入到這個(gè)事務(wù)中,這是最常見(jiàn)的選擇。

  opropagation_supports:支持當(dāng)前事務(wù),如果沒(méi)有當(dāng)前事務(wù),就以非事務(wù)方法執(zhí)行。

  opropagation_mandatory:使用當(dāng)前事務(wù),如果沒(méi)有當(dāng)前事務(wù),就拋出異常。

  opropagation_required_new:新建事務(wù),如果當(dāng)前存在事務(wù),把當(dāng)前事務(wù)掛起。

  opropagation_not_supported:以非事務(wù)方式執(zhí)行操作,如果當(dāng)前存在事務(wù),就把當(dāng)前事務(wù)掛起。

  opropagation_never:以非事務(wù)方式執(zhí)行操作,如果當(dāng)前事務(wù)存在則拋出異常。

  opropagation_nested:如果當(dāng)前存在事務(wù),則在嵌套事務(wù)內(nèi)執(zhí)行。如果當(dāng)前沒(méi)有事務(wù),則執(zhí)行與propagation_required類似的操作

  Spring默認(rèn)的事物傳播行為是propagation_requierd

2020年Java面試題框架部分集

      以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“2020年Java面試題框架部分集”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

相關(guān)推薦

最新最全java面試題及答案(初級(jí)到高級(jí))

史上最全的中高級(jí)JAVA工程師面試題及答案匯總

Java高級(jí)開(kāi)發(fā)工程師面試題

2019史上最全java面試題題庫(kù)大全800題

哪有資深java工程師面試題

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 爱色aⅴ | 国产成人精品亚洲一区 | 久久精品综合免费观看 | 99精品国产久热在线观看66 | 日韩精品特黄毛片免费看 | 久久精品人人做人人看最新章 | 日本高清免费不卡在线播放 | 91成人在线视频 | 精品国产第一国产综合精品gif | 亚洲高清视频在线观看 | 91高清免费国产自产拍2021 | 国产99区| 在线观看国产一区 | 久久伊人精品 | 四虎最新紧急入口4hu | 免费视频爱爱太爽了 | 亚洲精品自拍视频 | 91精品国产闺蜜国产在线 | 在线观看91精品国产不卡免费 | 九九久久久久午夜精选 | 奇米777色| 成年女人毛片免费播放人 | 夜夜艹天天干 | 在线国产网站 | 国产不卡视频在线观看 | 在线 | 一区二区三区 | 操熟美女又肥又嫩的骚屁股 | 国产国拍亚洲精品福利 | 亚洲欧美一二三区 | 女人用粗大自熨喷水在线视频 | 欧美日韩国产高清视频 | 99久久精品免费 | 久久国产精品亚洲va麻豆 | 美女啪啪免费网站 | 精品日韩在线视频 | 久热这里只精品热在线观看 | 91精品久久国产青草 | 精品乱久久 | 老妇毛片久久久久久久久 | 老司机深夜免费福利 | a级毛片高清免费视频 |