小少妇ass浓pics_成年人看的黄色片_亚洲精品综合网_日韩中文字幕国产_男人操女人国产_国产亚洲午夜高清国产拍精品_篠田ゆう所有作品番号_久久毛片网站_男性gay无套浴室中国_国产一区精品在线

廣州千鋒教育歡迎您!
優(yōu)課堂 | 請登錄 | 免費注冊

廣州千鋒教育

7x24小時咨詢熱線

廣州千鋒教育新聞詳情

千鋒廣州Java面試寶典之開源框架篇

文章來源:廣州千鋒教育 已幫助:1113人

1. hibernate和mybatis的區(qū)別?

相同點:

1)都屬于ORM框架

2)都是對jdbc的包裝

3)都屬于持久層的框架

不同點:

1)hibernate是面向?qū)ο蟮?,mybatis是面向sql的;

2)hibernate全自動的orm,mybatis是半自動的orm;

3)hibernate查詢映射實體對象必須全字段查詢,mybatis可以不用;

4)hibernate級聯(lián)操作,mybatis則沒有;

5)hibernate編寫hql查詢數(shù)據(jù)庫大大降低了對象和數(shù)據(jù)庫的耦合性,mybatis提供動態(tài)sql,需要手寫sql,與數(shù)據(jù)庫之間的耦合度取決于程序員所寫的sql的方法,所以hibernate的移植性要遠大于mybatis。

6)hibernate有方言夸數(shù)據(jù)庫,mybatis依賴于具體的數(shù)據(jù)庫。

7)hibernate擁有完整的日志系統(tǒng),mybatis則相對比較欠缺。

2. MyBatis的優(yōu)點?

1、基于SQL語句編程,相當靈活,不會對應(yīng)用程序或者數(shù)據(jù)庫的現(xiàn)有設(shè)計造成任何影響,SQL寫在XML里,解除sql與程序代碼的耦合,便于統(tǒng)一管理;提供XML標簽,支持編寫動態(tài)SQL語句,并可重用。

2、與JDBC相比,減少了50%以上的代碼量,消除了JDBC大量冗余的代碼,不需要手動開關(guān)連接;

3、很好的與各種數(shù)據(jù)庫兼容(因為MyBatis使用JDBC來連接數(shù)據(jù)庫,所以只要JDBC支持的數(shù)據(jù)庫MyBatis都支持)。

4、能夠與Spring很好的集成;

5、提供映射標簽,支持對象與數(shù)據(jù)庫的ORM字段關(guān)系映射;提供對象關(guān)系映射標簽,支持對象關(guān)系組件維護。

3.MyBatis框架的缺點?

(1)SQL語句的編寫工作量較大,尤其當字段多、關(guān)聯(lián)表多時,對開發(fā)人員編寫SQL語句的功底有一定要求。

(2)SQL語句依賴于數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)庫移植性差,不能隨意更換數(shù)據(jù)庫。

4. SpringMVC工作流程?

1、用戶發(fā)送請求至前端控制器DispatcherServlet

2、DispatcherServlet收到請求調(diào)用HandlerMapping處理器映射器。

3、處理器映射器根據(jù)請求url找到具體的處理器,生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet。

4、DispatcherServlet通過HandlerAdapter處理器適配器調(diào)用處理器

5、執(zhí)行處理器(Controller,也叫后端控制器)。

6、Controller執(zhí)行完成返回ModelAndView

7、HandlerAdapter將controller執(zhí)行結(jié)果ModelAndView返回給DispatcherServlet

8、DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器

9、ViewReslover解析后返回具體View

10、DispatcherServlet對View進行渲染視圖(即將模型數(shù)據(jù)填充至視圖中)。

11、DispatcherServlet響應(yīng)用戶

5.MyBatis框架使用的場合?

(1)MyBatis專注于SQL本身,是一個足夠靈活的DAO層解決方案。

(2)對性能的要求很高,或者需求變化較多的項目,如互聯(lián)網(wǎng)項目,MyBatis將是不錯的選擇。

6.Spring中beanFactory和ApplicationContext的和區(qū)別?

BeanFactory是spring中較為原始的Factory,無法支持spring的許多插件,如AOP功能、Web應(yīng)用等。

ApplicationContext接口是通過BeanFactory接口派生而來的,除了具備BeanFactory接口的功能外,還具備資源訪問、事件傳播、國際化消息訪問等功能。

總體區(qū)別如下:

1)使用ApplicationContext,配置bean默認配置是singleton,無論是否使用,都會被實例化。優(yōu)點是預(yù)先加載,缺點是浪費內(nèi)存;

2)使用BeanFactory實例化對象時,配置的bean等到使用的時候才會被實例化。優(yōu)點是節(jié)約內(nèi)存,缺點是速度比較慢,多用于移動設(shè)備的開發(fā);

3)沒有特殊要求的情況下,應(yīng)該使用ApplicationContext完成,ApplicationContext可以實現(xiàn)BeanFactory所有可實現(xiàn)的功能,還具備其他更多的功能。

7. SpringIOC注入的幾種方式?

構(gòu)造器注入

set方法注入

接口注入

8.攔截器與過濾器的區(qū)別?

1、攔截器是基于java的反射機制的,而過濾器是基于函數(shù)回調(diào)

2、攔截器不依賴與servlet容器,過濾器依賴與servlet容器。

3、攔截器只能對action請求起作用,而過濾器則可以對幾乎所有的請求起作用。

4、攔截器可以訪問action上下文、值棧里的對象,而過濾器不能訪問。

5、在action的生命周期中,攔截器可以多次被調(diào)用,而過濾器只能在容器初始化時被調(diào)用一次

9. SpringIOC是什么?

Spring IOC 負責創(chuàng)建對象,管理對象(通過依賴注入(DI),裝配對象,配置對象,并且管理這些對象的整個生命周期。

10. AOP有哪些實現(xiàn)方式?

實現(xiàn) AOP 的技術(shù),主要分為兩大類:

靜態(tài)代理 - 指使用 AOP 框架提供的命令進行編譯,從而在編譯階段就可生成 AOP 代理類,因此也稱為編譯時增強;

編譯時編織(特殊編譯器實現(xiàn))

類加載時編織(特殊的類加載器實現(xiàn))。

動態(tài)代理 - 在運行時在內(nèi)存中“臨時”生成 AOP 動態(tài)代理類,因此也被稱為運行時增強。

JDK 動態(tài)代理、CGLIB

學(xué)校首頁| 學(xué)校簡介| 課程列表| 學(xué)校新聞| 學(xué)校相冊| 教師團隊| 聯(lián)系我們

廣州千鋒教育課程請咨詢:

滬ICP備18048269號-1 滬ICP備18048269號-1 電子營業(yè)執(zhí)照電子營業(yè)執(zhí)照 教育 教育 全國教育網(wǎng)站 全國教育網(wǎng)站 企業(yè)信用等級AA級 企業(yè)信用等級AA級 合作/版權(quán)/投訴

本頁信息由注冊用戶(機構(gòu)和個人)自行發(fā)布或提供,所有內(nèi)容僅供參考,任何關(guān)于對該用戶的推薦都不能替代您的考察核實,本站不承擔該用戶發(fā)布/提供信息的行為或內(nèi)容所引起的法律責任