亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 創(chuàng)業(yè)指南 > 職場 > 面試題 > ssh相關(guān)面試題

      ssh相關(guān)面試題

      時(shí)間: 護(hù)托1061 分享

      ssh相關(guān)面試題

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

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

        什么是Spring, 它有什么特點(diǎn)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        7.spring屬于低侵入式設(shè)計(jì),代碼的污染極低

        8.獨(dú)立于各種應(yīng)用服務(wù)器

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

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

        2、什么是DI機(jī)制?

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

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

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

        因此也稱為依賴注入。

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

        設(shè)置注入的優(yōu)點(diǎn):直觀,自然

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

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

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

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

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

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

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

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

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

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

        Spring的方式

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

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

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

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

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

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

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

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

        aop框架具有的兩個(gè)特征:

        1.各個(gè)步驟之間的良好隔離性

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

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

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

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

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

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

        TransactionDefinition //事務(wù)屬性定義

        TranscationStatus //代表了當(dāng)前的事務(wù),可以提交,回滾。

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

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

        攔截器: 代理

        裝備(advice)

        目標(biāo)對象

        關(guān)切點(diǎn):條件

        連接點(diǎn):方法、屬性

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

        beanFactory

        國際化(getMesage)

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

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

        事件處理

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

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

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

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

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

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

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

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

      3155606