- 相關(guān)推薦
69道Spring面試題和答案(4)
聲明式事務(wù)管理:這意味著你可以將業(yè)務(wù)代碼和事務(wù)管理分離,你只需用注解和XML配置來管理事務(wù)。
49. Spring框架的事務(wù)管理有哪些優(yōu)點?
它為不同的事務(wù)API 如 JTA,JDBC,Hibernate,JPA 和JDO,提供一個不變的編程模式。
它為編程式事務(wù)管理提供了一套簡單的API而不是一些復(fù)雜的事務(wù)API如
它支持聲明式事務(wù)管理。
它和Spring各種數(shù)據(jù)訪問抽象層很好得集成。
50. 你更傾向用那種事務(wù)管理類型?
大多數(shù)Spring框架的用戶選擇聲明式事務(wù)管理,因為它對應(yīng)用代碼的影響最小,因此更符合一個無侵入的輕量級容器的思想。聲明式事務(wù)管理要優(yōu)于編程式事務(wù)管理,雖然比編程式事務(wù)管理(這種方式允許你通過代碼控制事務(wù))少了一點靈活性。
Spring面向切面編程(AOP)
51. 解釋AOP
面向切面的編程,或AOP, 是一種編程技術(shù),允許程序模塊化橫向切割關(guān)注點,或橫切典型的責任劃分,如日志和事務(wù)管理。
52. Aspect 切面
AOP核心就是切面,它將多個類的通用行為封裝成可重用的模塊,該模塊含有一組API提供橫切功能。比如,一個日志模塊可以被稱作日志的AOP切面。根據(jù)需求的不同,一個應(yīng)用程序可以有若干切面。在Spring AOP中,切面通過帶有@Aspect注解的類實現(xiàn)。
52. 在Spring AOP 中,關(guān)注點和橫切關(guān)注的區(qū)別是什么?
關(guān)注點是應(yīng)用中一個模塊的行為,一個關(guān)注點可能會被定義成一個我們想實現(xiàn)的一個功能。
橫切關(guān)注點是一個關(guān)注點,此關(guān)注點是整個應(yīng)用都會使用的功能,并影響整個應(yīng)用,比如日志,安全和數(shù)據(jù)傳輸,幾乎應(yīng)用的每個模塊都需要的功能。因此這些都屬于橫切關(guān)注點。
54. 連接點
連接點代表一個應(yīng)用程序的某個位置,在這個位置我們可以插入一個AOP切面,它實際上是個應(yīng)用程序執(zhí)行Spring AOP的位置。
55. 通知
通知是個在方法執(zhí)行前或執(zhí)行后要做的動作,實際上是程序執(zhí)行時要通過SpringAOP框架觸發(fā)的代碼段。
Spring切面可以應(yīng)用五種類型的通知:
before:前置通知,在一個方法執(zhí)行前被調(diào)用。
after: 在方法執(zhí)行之后調(diào)用的通知,無論方法執(zhí)行是否成功。
after-returning: 僅當方法成功完成后執(zhí)行的通知。
after-throwing: 在方法拋出異常退出時執(zhí)行的通知。
around: 在方法執(zhí)行之前和之后調(diào)用的通知。
56. 切點
切入點是一個或一組連接點,通知將在這些位置執(zhí)行?梢酝ㄟ^表達式或匹配的方式指明切入點。
57. 什么是引入?
引入允許我們在已存在的類中增加新的方法和屬性。
58. 什么是目標對象?
被一個或者多個切面所通知的對象。它通常是一個代理對象。也指被通知(advised)對象。
59. 什么是代理?
代理是通知目標對象后創(chuàng)建的對象。從客戶端的角度看,代理對象和目標對象是一樣的。
60. 有幾種不同類型的自動代理?
BeanNameAutoProxyCreator
DefaultAdvisorAutoProxyCreator
Metadata autoproxying
61. 什么是織入。什么是織入應(yīng)用的不同點?
織入是將切面和到其他應(yīng)用類型或?qū)ο筮B接或創(chuàng)建一個被通知對象的過程。
織入可以在編譯時,加載時,或運行時完成。
62. 解釋基于XML Schema方式的切面實現(xiàn)。
在這種情況下,切面由常規(guī)類以及基于XML的配置實現(xiàn)。
63. 解釋基于注解的切面實現(xiàn)
在這種情況下(基于@AspectJ的實現(xiàn)),涉及到的切面聲明的風(fēng)格與帶有java5標注的普通java類一致。
Spring 的MVC
64. 什么是Spring的MVC框架?
Spring 配備構(gòu)建Web 應(yīng)用的全功能MVC框架。Spring可以很便捷地和其他MVC框架集成,如Struts,Spring 的MVC框架用控制反轉(zhuǎn)把業(yè)務(wù)對象和控制邏輯清晰地隔離。它也允許以聲明的方式把請求參數(shù)和業(yè)務(wù)對象綁定。
65. DispatcherServlet
Spring的MVC框架是圍繞DispatcherServlet來設(shè)計的,它用來處理所有的HTTP請求和響應(yīng)。
66. WebApplicationContext
WebApplicationContext 繼承了ApplicationContext 并增加了一些WEB應(yīng)用必備的特有功能,它不同于一般的ApplicationContext ,因為它能處理主題,并找到被關(guān)聯(lián)的servlet。
67. 什么是Spring MVC框架的控制器?
控制器提供一個訪問應(yīng)用程序的行為,此行為通常通過服務(wù)接口實現(xiàn)。控制器解析用戶輸入并將其轉(zhuǎn)換為一個由視圖呈現(xiàn)給用戶的模型。Spring用一個非常抽象的方式實現(xiàn)了一個控制層,允許用戶創(chuàng)建多種用途的控制器。
68. @Controller 注解
該注解表明該類扮演控制器的角色,Spring不需要你繼承任何其他控制器基類或引用Servlet API。
69. @RequestMapping 注解
該注解是用來映射一個URL到一個類或一個特定的方處理法上。
http://www.szmdbiao.com/【69道Spring面試題和答案(4)】相關(guān)文章:
java面試題及答案10-03
戴爾?嫉12道面試題08-19
孫道榮舊書閱讀答案09-25
Web前端面試題目及答案06-30
Spring面試試題09-19
邊城閱讀和答案09-24
今年最強的面試題和最牛的答卷09-20
大象和猴子閱讀答案09-29
溫暖的集體的閱讀理解和答案06-23
成人高考專升本政治10道選擇題及答案10-05