歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Spring經典面試題分享

Spring經典面試題分享

日期:2017/3/1 9:20:30   编辑:Linux編程

分享一些Spring經典面試題,供大家參考學習。

1. Spring的Ioc和aop分別是用什麼原理實現的?

主要應用了java的反射技術

2.spring 的工作機制以及為什麼要用?

1) spring mvc請所有的請求都提交給DispatcherServlet,它會委托應用系統的其他模塊負責負責對請求進行真正的處理工作。

2) DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller.

3) DispatcherServlet請請求提交到目標Controller

4) Controller進行業務邏輯處理後,會返回一個ModelAndView

5) Dispathcher查詢一個或多個ViewResolver視圖解析器,找到ModelAndView對象指定的視圖對象

6)視圖對象負責渲染返回給客戶端

為什麼用:

AOP 讓開發人員可以創建非行為性的關注點,稱為橫切關注點,並將它們插入到應用程序代碼中。使用 AOP 後,公共服務 (比 如日志、持久性、事務等)就可以分解成方面並應用到域對象上,同時不會增加域對象的對象模型的復雜性。

IOC 允許創建一個可以構造對象的應用環境,然後向這些對象傳遞它們的協作對象。正如單詞 倒置 所表明的,IOC 就像反 過來的 JNDI。沒有使用一堆抽象工廠、服務定位器、單元素(singleton)和直接構造(straight construction),每一個對象都是用其協作對象構造的。因此是由容器管理協作對象(collaborator)。

Spring即使一個AOP框架,也是一IOC容器。 Spring 最好的地方是它有助於您替換對象。有了 Spring,只要用 JavaBean 屬性和配置文件加入依賴性(協作對象)。然後可以很容易地在需要時替換具有類似接口的協作對象。

3.如何實現國際化?

國際化:不用修改代碼,就適用於不同的語言國家

本地化:如果要適應一個國家,要修改源代碼

實現過程:

在struts-configxml中用如下標簽說明資源文件名,注意其只是文件名,沒有語言_國家

在資源文件對應的目錄struts中加入適應不同語言、國家的properties文件

ApplicationResources_zh_properties 中國

ApplicationResources_en_USproperties us

如果不是英語要轉碼

native2ascii -encoding gb2312 源 ApplicationResources_zh_Cproperties

在jsp頁面中用

取出信息

4.Spring的BeanFactory與ApplicationContext區別?

ApplicationContext和BeanFacotry相比,提供了更多的擴展功能,但其主要區別在於後者是延遲加載,如果Bean的某一個 屬性 沒有注入,BeanFacotry加載後,直至第一次使用調用getBean方法才會拋出異常;而ApplicationContext則在初始化自身是 檢驗,這樣有利於檢查所依賴屬性是否注入;所以通常情況下我們選擇使用ApplicationContext。

5.說說你對用ssh框架進行開發的理解?

框架:hibernate、spring、struts;

Hibernate 主要用於數據持久化;

Spring 的控制反轉能起到解耦合的作用;

Struts 主要用於流程控制。

6.請解釋什麼是MVC?(設計模式)

A) M----Model 封裝業務數據及業務運算。

B) V-----View 封裝用戶界面。

C) C-----Controller 封裝業務處理流程。

7. MVC的各個部分都有哪些技術來實現?如何實現?

表示層 struts

持久層 hibernate

控制層 spring

也就是最常用的開發框架ssh

8.通過圖,說說你對MVC模型的理解。(企業有可能讓學生畫圖)?

1)首先是展示視圖給用戶,用戶在這個視圖上進行操作,並填寫一些業務數據

2)然後用戶會點擊提交按鈕,來發出請求

3)視圖發出的用戶請求會到達控制器,在請求中包含了想要完成什麼樣的業務功能以及相關的數據。

4)控制器會來處理用戶請求,會把請求中的數據進行封裝,然後選擇並調用合適的模型,請求模型進行狀態更新,然後選擇接下來要展示給用戶的視圖。

5)模型會去處理用戶請求的業務功能,同時進行模型狀態的維護和更新

6)當模型狀態發生改變的時候,模型會通知相應的視圖,告訴視圖它的狀態發生了改變。

7)視圖借到模型的通知後,會向模型進行狀態查詢,獲取需要展示的數據,然後按照視圖本身的展示方式,把這些數據展示出來。

8)接下來就是等待用戶下一步操作,再次從頭輪回了。

Spring中如何配置Hibernate事務 http://www.linuxidc.com/Linux/2013-12/93681.htm

Struts2整合Spring方法及原理 http://www.linuxidc.com/Linux/2013-12/93692.htm

基於 Spring 設計並實現 RESTful Web Services http://www.linuxidc.com/Linux/2013-10/91974.htm

Spring-3.2.4 + Quartz-2.2.0集成實例 http://www.linuxidc.com/Linux/2013-10/91524.htm

使用 Spring 進行單元測試 http://www.linuxidc.com/Linux/2013-09/89913.htm

運用Spring注解實現Netty服務器端UDP應用程序 http://www.linuxidc.com/Linux/2013-09/89780.htm

Spring 3.x 企業應用開發實戰 PDF完整高清掃描版+源代碼 http://www.linuxidc.com/Linux/2013-10/91357.htm

Spring 的詳細介紹:請點這裡
Spring 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved