學習啦 > 創(chuàng)業(yè)指南 > 職場 > 面試題 > ssh相關(guān)面試題

ssh相關(guān)面試題

時間: 護托1061 分享

ssh相關(guān)面試題

  什么是Spring, 它有什么特點?下面就由學習啦小編為大家介紹一下ssh相關(guān)面試題的文章,歡迎閱讀。

  ssh相關(guān)面試題篇1

  什么是Spring, 它有什么特點

  Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。

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

  ◆控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進了松耦 合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為IoC與JNDI相反——不 是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。

  ◆面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應用的 業(yè)務邏輯與系統(tǒng)級服務(例如審計(auditing)和事務()管理)進行內(nèi)聚性的開發(fā)。應用對象只實現(xiàn)它們應該做的——完成業(yè)務邏輯——僅此而已。它們 并不負責(甚至是意識)其它的系統(tǒng)級關(guān)注點,例如日志或事務支持。

  ◆容器——Spring包含并管理應用對象的配置和生命周期,在這個意義上它是 一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生 成一個新的實例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。

  ◆框架——Spring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎(chǔ)功能(事務管理、持久化框架集成等等),將應用邏輯的開發(fā)留給了你。

  ssh相關(guān)面試題篇2

  1、spring 的優(yōu)點?

  1.降低了組件之間的耦合性 ,實現(xiàn)了軟件各層之間的解耦

  2.可以使用容易提供的眾多服務,如事務管理,消息服務等

  3.容器提供單例模式支持

  4.容器提供了AOP技術(shù),利用它很容易實現(xiàn)如權(quán)限攔截,運行期監(jiān)控等功能

  5.容器提供了眾多的輔助類,能加快應用的開發(fā)

  6.spring對于主流的應用框架提供了集成支持,如hibernate,JPA,Struts等

  7.spring屬于低侵入式設計,代碼的污染極低

  8.獨立于各種應用服務器

  9.spring的DI機制降低了業(yè)務對象替換的復雜性

  10.Spring的高度開放性,并不強制應用完全依賴于Spring,開發(fā)者可以自由選擇spring的部分或全部

  2、什么是DI機制?

  依賴注入(Dependecy Injection)和控制反轉(zhuǎn)(Inversion of Control)是同一個概念,具體的講:當某個角色

  需要另外一個角色協(xié)助的時候,在傳統(tǒng)的程序設計過程中,通常由調(diào)用者來創(chuàng)建被調(diào)用者的實例。但在spring中

  創(chuàng)建被調(diào)用者的工作不再由調(diào)用者來完成,因此稱為控制反轉(zhuǎn)。創(chuàng)建被調(diào)用者的工作由spring來完成,然后注入調(diào)用者

  因此也稱為依賴注入。

  spring以動態(tài)靈活的方式來管理對象 , 注入的兩種方式,設置注入和構(gòu)造注入。

  設置注入的優(yōu)點:直觀,自然

  構(gòu)造注入的優(yōu)點:可以在構(gòu)造器中決定依賴關(guān)系的順序。

  3. 簡述你對IoC(Inversion of Control)的理解

  一個類需要用到某個接口的方法,我們需要將類A和接口B的實現(xiàn)關(guān)聯(lián)起來,最簡單的方法是類A中創(chuàng)建一個對于接口B的實現(xiàn)C的實例,但這種方法顯然兩者的依賴(Dependency)太大了。而IoC的方法是只在類A中定義好用于關(guān)聯(lián)接口B的實現(xiàn)的方法,將類A,接口B和接口B的實現(xiàn)C放入IoC的 容器(Container)中,通過一定的配置由容器(Container)來實現(xiàn)類A與接口B的實現(xiàn)C的關(guān)聯(lián)。

  4 解釋一下Dependency injection(DI,依賴注入)和IOC(Inversion of control,控制反轉(zhuǎn))?

  參考答案:依賴注入DI是一個程序設計模式和架構(gòu)模型, 一些時候也稱作控制反轉(zhuǎn),盡管在技術(shù)上來講,依賴注入是一個IOC的特殊實現(xiàn),依賴注入是指一個對象應用另外一個對象來提供一個特殊的能力,例如:把一個數(shù)據(jù)庫連接已參數(shù)的形式傳到一個對象的結(jié)構(gòu)方法里面而不是在那個對象內(nèi)部自行創(chuàng)建一個連接??刂品崔D(zhuǎn)和依賴注入的基本思想就是把類的依賴從類內(nèi)部轉(zhuǎn)化到外部以減少依賴

  應用控制反轉(zhuǎn),對象在被創(chuàng)建的時候,由一個調(diào)控系統(tǒng)內(nèi)所有對象的外界實體,將其所依賴的對象的引用,傳遞給它。也可以說,依賴被注入到對象中。所以,控制反轉(zhuǎn)是,關(guān)于一個對象如何獲取他所依賴的對象的引用,這個責任的反轉(zhuǎn)。

  5、描述一下Spring中實現(xiàn)DI(Dependency Injection)的幾種方式

  方式一:接口注入,在實際中得到了普遍應用,即使在IOC的概念尚未確立時,這樣的方法也已經(jīng)頻繁出現(xiàn)在我們的代碼中。

  方式二:Type2 IoC: Setter injection對象創(chuàng)建之后,將被依賴對象通過set方法設置進去

  方式三:Type3 IoC: Constructor injection對象創(chuàng)建時,被依賴對象以構(gòu)造方法參數(shù)的方式注入

  Spring的方式

  6、什么是AOP? (Aspect --Oriented Programming)

  面向切面編程(AOP)完善spring的依賴注入(DI),面向切面編程在spring中主要表現(xiàn)為兩個方面

  1.面向切面編程提供聲明式事務管理

  2.spring支持用戶自定義的切面

  面向切面編程(aop)是對面向?qū)ο缶幊?oop)的補充,

  面向?qū)ο缶幊虒⒊绦蚍纸獬筛鱾€層次的對象,面向切面編程將程序運行過程分解成各個切面。

  AOP從程序運行角度考慮程序的結(jié)構(gòu),提取業(yè)務處理過程的切面,oop是靜態(tài)的抽象,aop是動態(tài)的抽象,

  是對應用執(zhí)行過程中的步驟進行抽象,,從而獲得步驟之間的邏輯劃分

  aop框架具有的兩個特征:

  1.各個步驟之間的良好隔離性

  2.源代碼無關(guān)性

  ssh相關(guān)面試題篇3

  事務就是對一系列的數(shù)據(jù)庫操作(比如插入多條數(shù)據(jù))進行統(tǒng)一的提交或回滾操作,如果插入成功,那么一起成功,如果中間有一條出現(xiàn)異常,那么回滾之前的所有操作。

  這樣可以防止出現(xiàn)臟數(shù)據(jù),防止數(shù)據(jù)庫數(shù)據(jù)出現(xiàn)問題。

  開發(fā)中為了避免這種情況一般都會進行事務管理。Spring中也有自己的事務管理機制,一般是使用TransactionMananger進行管理,可以通過Spring的注入來完成此功能。

  spring提供了幾個關(guān)于事務處理的類:

  TransactionDefinition //事務屬性定義

  TranscationStatus //代表了當前的事務,可以提交,回滾。

  PlatformTransactionManager這個是spring提供的用于管理事務的基礎(chǔ)接口,其下有一個實現(xiàn)的抽象類AbstractPlatformTransactionManager,我們使用的事務管理類例如DataSourceTransactionManager等都是這個類的子類。

  1. aop中的關(guān)鍵名詞有些那些,相互關(guān)系是什么?

  攔截器: 代理

  裝備(advice)

  目標對象

  關(guān)切點:條件

  連接點:方法、屬性

  2. Spring中ApplicationContext的作用是什么?

  beanFactory

  國際化(getMesage)

  資源管理:可以直接讀取一個文件的內(nèi)容(getResource)

  加入web框架中(加入一個servlet或監(jiān)聽器)

  事件處理

  3. spring中的核心類有那些,各有什么作用?

  BeanFactory:產(chǎn)生一個新的實例,可以實現(xiàn)單例模式

  BeanWrapper:提供統(tǒng)一的get及set方法

  ApplicationContext:提供框架的實現(xiàn),包括BeanFactory的所有功能

  4. spring中的核心類有那些,各有什么作用?

  BeanFactory:產(chǎn)生一個新的實例,可以實現(xiàn)單例模式

  BeanWrapper:提供統(tǒng)一的get及set方法

  ApplicationContext:提供框架的實現(xiàn),包括BeanFactory的所有功能

3155606