『壹』 Spring面試:什麼是Spring, 它有什麼特點
◆輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小隻有1MB多的文件里發布。並 且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴於Spring的特定類。◆控制反轉——Spring通過一種稱作控制反轉(IoC)的技術促進了松耦 合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創建或者查找依賴對象。你可以認為IoC與JNDI相反——不 是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。◆面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應用的 業務邏輯與系統級服務(例如審計(auditing)和事務()管理)進行內聚性的開發。應用對象只實現它們應該做的——完成業務邏輯——僅此而已。它們 並不負責(甚至是意識)其它的系統級關注點,例如日誌或事務支持。◆容器——Spring包含並管理應用對象的配置和生命周期,在這個意義上它是 一種容器,你可以配置你的每個bean如何被創建——基於一個可配置原型(prototype),你的bean可以創建一個單獨的實例或者每次需要時都生 成一個新的實例——以及它們是如何相互關聯的。然而,Spring不應該被混同於傳統的重量級的EJB容器,它們經常是龐大與笨重的,難以使用。◆框架——Spring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。
『貳』 面試官要我介紹一下spring,我該如何比較全面的回答
全不全面不是最重要的,關鍵是用自己的語言說出自己對spring的理解,才能顯示出你真的懂得了專spring的作用,你把其屬他人貼的那些長篇大論全背下來人家也不滿意。
簡單地說,spring是用來管理你的類的框架,管理它們之間的互相調用和依賴關系,通過介面解藕,可以方便的更換使用多種不同的技術實現來完成你的系統。
『叄』 怎麼回答面試官:你對Spring的理解
首先Spring是一個大的概念抄,Spring從最開始的一個Library到現在一個系列,其中最主要的包括Spring Framework, Spring Data, Spring Security, Spring Batch等等,以及快速框架Spring Boot,其中最重要的項目是Spring Framework,這個項目包括了IoC, AOP, MVC以及Testing等!
『肆』 SpringMVC面試愛問什麼
Spring依賴注入有哪幾種方式。
答:構造注入、介面注入、Set方法注入、映射注入。
2. 對Spring 的理解. (中)
答:Spring是一個容器框架,其核心機制在於IOC和AOP
3. 簡述一下Spring。
答:SpringFramework 是一個開源的Java/Java EE的應用程序框架。Spring Framework 提供了一個簡易的開發方式,這種開發方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。
4、Spring 中包含的關鍵特性
答:強大的基於 JavaBeans 的採用控制翻轉(Inversion of Control,IoC)原則的配置管理,使得應用程序的組建更加快捷簡易。 一個可用於從 applet 到 Java EE 等不同運行環境的核心 Bean 工廠。資料庫事務的一般化抽象層,允許宣告式(Declarative)事務管理器,簡化事務的劃分使之與底層無關。
5、Spring里的聲明式事務是怎麼實現的。
答:先定義一個類,實現MethodBeforeAdvice、AfterReturningAdvice等介面。
在Spring配置文件里配置advice的bean,然後配置代理類,在類里注入advice和目標類。
『伍』 最近面試問我用過什麼框架,我說spring springmvc,經常被問到什麼是springmvc
SpringMvc是spring的一個模塊 基於MVC的一個框架 無需中間整合層來整合
SpringMvc整個的執行流程:
1、發起請求到前端控制器(DispatcherServlet )
2、前端控制器請求HandlerMapping查找Handler(可以根據xml、註解進行查找)
3、處理器映射器HandlerMapping向前端控制器DispatcherServlet 返回Handler
4、前端控制器DispatcherServlet 調用處理器適配器HandlerAdapter 執行Handler
5、處理器適配器HandlerAdapter 執行Handler
6、Handler執行完給處理器適配器返回ModelAndView
7、處理器適配器向前端控制器返回ModelAndView (ModelAndView 是SpringMvc的底層對象 包括model和view)
8、前端控制器請求視圖解析器去解析視圖
根據邏輯視圖名解析成真正的視圖(jsp)
9、視圖解析器向前端控制器返回view
10、前端控制器進行視圖渲染
視圖渲染將模型數據(模型數據在ModelAndView對象中)填充到request域
11、前端控制器向用戶響應結果
『陸』 如何應對java中框架面試
不知道你有沒有面試過,你寫熟悉三大框架別人也不會問你三大框架的問題內。大多還是容基礎問題比較多,還有就是項目經驗問的比較多
而且寫熟悉三大框架也不會為你獲得面試機會增加更多籌碼。別人更看重你的硬技能,比如項目經驗,工作經驗之類的。
如果真的問的話,可能也是會問你框架在你項目當中用在哪些方面,和不用框架比好在哪。
『柒』 面試問 springMVC 框架原理的話怎麼答比較好
mvc,spring是用的最多的,struts2的話也有人用,還有一些老項目,現在新項目,大部分都是用spring mvc
『捌』 面試題:說說你對spring的理解
原文:https://www.hu.com/question
Spring是一個十分龐大的體系,具體可以訪問它的官網https://spring.io/projects進行詳細了解。
首先,回答這個問題,可以先介紹一下Spring體系中的幾個項目:
SpringFramework
SpringData
SpringSecurity
SpringBoot
SpringCloud
當然,除了這些之外,Spring還包括很多其他的項目。
接著,著重介紹SpringFramework這個項目,它是一個開源的Java/JavaEE全功能棧的應用程序,SpringFramework提供了一個簡易的開發方式,這種開發方式可以避免使用那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。
Spring的這種低侵入式設計使代碼的污染極低。
SpringFramework包括以下部分:
構造方法注入
下面舉個例子來說明一下什麼是依賴注入:
假設類A因功能F需要調用類B,傳統的程序中,我們就會去new一個類B的對象,因而類A就會依賴類於類B,這就是說如果類B不存在,則類A也就無法使用。而使用依賴注入以後,類A只需要去調用實現功能F介面的一個實現類,這個實現類可能是類B,C等等,具體調用誰是有Spring的配置文件決定的,這樣類A就不再依賴於類B。
我們可以這樣理解控制反轉:
資源不是由使用資源的雙方進行管理,而是由不使用資源的第三方(即Spring容器)進行管理,這樣做的好處是:
資源集中管理,實現資源的可配置與易管理
降低使用資源雙方的依賴程度
在傳統程序中,當某個角色需要另外一個角色協助時,由調用者來創建被調用者的實例。而在Spring中,創建被調用者的的工作不再由調用者來完成,而由第三方Spring容器來完成,所以稱為控制反轉,Spring容器創建被調用者的實例,然後注入調用者,所以又稱為依賴注入。
③面向切面編程
AOP在Spring中主要表現在兩個方面:
提供聲明式事務管理
Spring支持用戶自定義切面
面向切面編程是對面向對象編程(OOP)的補充。面向對象編程將程序分解成為各個層次的對象,面向切面編程將程序運行過程分解成各個切面。面向切面編程基於動態代理實現,降低了類直接的耦合程度。Spring的事務管理就是基於AOP實現的。
免費資源教程
『玖』 java面試 為什麼要使用spring
不是要使用spring,而是以此來測試你對java這行三大框架的了解。
而且spring有七大模塊,自己可以看看
主要懂核心原理就好。
springmvc核心架構的具體流程步驟如下:
1、 首先用戶發送請求——>DispatcherServlet,前端控制器收到請求後自己不進行處理,而是委託給其他的解析器進行處理,作為統一訪問點,進行全局的流程式控制制;
2、 DispatcherServlet——>HandlerMapping, HandlerMapping將會把請求映射為HandlerExecutionChain對象(包含一個Handler處理器(頁面控制器)對象、多個HandlerInterceptor攔截器)對象,通過這種策略模式,很容易添加新的映射策略;
3、 DispatcherServlet——>HandlerAdapter,HandlerAdapter將會把處理器包裝為適配器,從而支持多種類型的處理器,即適配器設計模式的應用,從而很容易支持很多類型的處理器;
4、 HandlerAdapter——>處理器功能處理方法的調用,HandlerAdapter將會根據適配的結果調用真正的處理器的功能處理方法,完成功能處理;並返回一個ModelAndView對象(包含模型數據、邏輯視圖名);
5、 ModelAndView的邏輯視圖名——> ViewResolver, ViewResolver將把邏輯視圖名解析為具體的View,通過這種策略模式,很容易更換其他視圖技術;
6、 View——>渲染,View會根據傳進來的Model模型數據進行渲染,此處的Model實際是一個Map數據結構,因此很容易支持其他視圖技術;
7、返回控制權給DispatcherServlet,由DispatcherServlet返回響應給用戶,到此一個流程結束。
『拾』 真實版Spring面試題,歡迎作答!
1.ApplicationContext提供了BeanFactory所能提供的功能管理,包括bean的載入,實例化,維護bean之間的依賴關系,負責bean的聲明周期之外,還提供了更完整的框架功能:
a. 國際化支持
通過配置org.springframework.context.support.ResourceBundleMessageSource
b. 資源訪問:Resource rs = ctx. getResource(「classpath:config.properties」), file:c:/config.properties」
c. 事件傳遞:通過實現ApplicationContextAware介面
2. 默認scope是singleton,另外幾個范圍是 prototype
區別是singleton 只在初始化時候創建一個對象
prototype 在每次訪問都會創建一個對象
3.根據輸入的參數創建實例對象
一種為setter
定義property name 在class裡面使用setter方法定義對象
一種為constractor
定義constructor-arg
4.沒有
5. Log
定義促銷活動日誌
@Aspect
public class logpromotion{
@Before("execution(* com.herb.aop.PromotionOwner.*(..))")
public void before(JoinPoint joinPoint){
System.out.println("Logging before " + joinPoint.getSignature().getName());
}
}
public class PromotionOwner.BuyXgetYfree{
....
}
6.Before Advice 方法執行前
Around Advice 方法執行時
After Advice 方法執行後
Throw Advice 方法出現異常