大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

面試題首頁(yè) > Spring面試題

Spring設(shè)計(jì)模式面試題

001Spring中單例模式體現(xiàn)?

單例模式應(yīng)該是大家印象最深的一種設(shè)計(jì)模式了。在Spring中最明顯的使用場(chǎng)景是在配置文件中配置注冊(cè)bean對(duì)象的時(shí)候設(shè)置scope的值為singleton 。

<bean class="com.bjpowernode.pojo.User" id="user" scope="singleton">
    <property name="name" value="張三"></property>
</bean>

002Spring中原型模式體現(xiàn)?

原型模式也叫克隆模式,Spring中該模式使用的很明顯,和單例一樣在bean標(biāo)簽中設(shè)置scope的屬性prototype即表示該bean以克隆的方式生成

<bean class="com.bjpowernode.pojo.User" id="user" scope="prototype">
    <property name="name" value="張三"></property>
</bean>

003Spring中模板模式體現(xiàn)?

模板模式的核心是父類(lèi)定義好流程,然后將流程中需要子類(lèi)實(shí)現(xiàn)的方法就抽象話留給子類(lèi)實(shí)現(xiàn),Spring中的JdbcTemplate就是這樣的實(shí)現(xiàn)。我們知道jdbc的步驟是固定
1)加載驅(qū)動(dòng),
2)獲取連接通道,
3)構(gòu)建sql語(yǔ)句.
4)執(zhí)行sql語(yǔ)句,
5)關(guān)閉資源
在這些步驟中第3步和第4步是不確定的,所以就留給客戶(hù)實(shí)現(xiàn),而我們實(shí)際使用JdbcTemplate的時(shí)候也確實(shí)是只需要構(gòu)建SQL就可以了.這就是典型的模板模式。我們以query方法為例來(lái)看下JdbcTemplate中的代碼.

004Spring中觀察者模式體現(xiàn)?

觀察者模式定義的是對(duì)象間的一種一對(duì)多的依賴(lài)關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴(lài)于它的對(duì)象都得到通知并被自動(dòng)更新。使用比較場(chǎng)景是在監(jiān)聽(tīng)器中而spring中Observer模式常用的地方也是listener的實(shí)現(xiàn)。如ApplicationListener.

005Spring中工廠模式體現(xiàn)?

簡(jiǎn)單工廠模式:就是通過(guò)工廠根據(jù)傳遞進(jìn)來(lái)的參數(shù)決定產(chǎn)生哪個(gè)對(duì)象。Spring中我們通過(guò)getBean方法獲取對(duì)象的時(shí)候根據(jù)id或者name獲取就是簡(jiǎn)單工廠模式了。

<context:annotation-config/>
<bean class="com.bjpowernode.pojo.User" id="user"  >
  <property name="name" value="張三"></property>
</bean>

工廠方法模式:在Spring中我們一般是將Bean的實(shí)例化直接交給容器去管理的,實(shí)現(xiàn)了使用和創(chuàng)建的分離,這時(shí)容器直接管理對(duì)象,還有種情況是,bean的創(chuàng)建過(guò)程我們交給一個(gè)工廠去實(shí)現(xiàn),而Spring容器管理這個(gè)工廠。這個(gè)就是我們講的工廠模式,在Spring中有兩種實(shí)現(xiàn)一種是靜態(tài)工廠方法模式,一種是動(dòng)態(tài)工廠方法模式。以靜態(tài)工廠來(lái)演示

/**
* User 工廠類(lèi)
*
*/
public class UserFactory {
    
    /**
    * 必須是static方法
    * @return
    */
    public static UserBean getInstance(){
        return new UserBean();
    }
}

006Spring中適配器模式體現(xiàn)?

將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶(hù)希望的另外一個(gè)接口。使得原本由于接口不兼容而不能一起工作的那些類(lèi)可以在一起工作。這就是適配器模式。在Spring中在AOP實(shí)現(xiàn)中的Advice和interceptor之間的轉(zhuǎn)換就是通過(guò)適配器模式實(shí)現(xiàn)的。

class MethodBeforeAdviceAdapter implements AdvisorAdapter, Serializable {
    
    @Override
    public boolean supportsAdvice(Advice advice) {
        return (advice instanceof MethodBeforeAdvice);
    }
    
    @Override
    public MethodInterceptor getInterceptor(Advisor advisor) {
        MethodBeforeAdvice advice = (MethodBeforeAdvice) advisor.getAdvice();
        // 通知類(lèi)型匹配對(duì)應(yīng)的攔截器
        return new MethodBeforeAdviceInterceptor(advice);
    }
}

007Spring中裝飾者模式體現(xiàn)?

裝飾者模式:裝飾者模式又稱(chēng)為包裝模式(Wrapper),作用是用來(lái)動(dòng)態(tài)的為一個(gè)對(duì)象增加新的功能。裝飾模式是一種用于代替繼承的技術(shù),無(wú)須通過(guò)繼承增加子類(lèi)就能擴(kuò)展對(duì)象的新功能。使用對(duì)象的關(guān)聯(lián)關(guān)系代替繼承關(guān)系,更加靈活,同時(shí)避免類(lèi)型體系的快速膨脹。
spring中用到的包裝器模式在類(lèi)名上有兩種表現(xiàn):一種是類(lèi)名中含有Wrapper,另一種是類(lèi)名中含有Decorator。基本上都是動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。
具體的使用在Spring session框架中的SessionRepositoryRequestWrapper使用包裝模式對(duì)原生的request的功能進(jìn)行增強(qiáng),可以將session中的數(shù)據(jù)和分布式數(shù)據(jù)庫(kù)進(jìn)行同步,這樣即使當(dāng)前tomcat崩潰,session中的數(shù)據(jù)也不會(huì)丟失。

<dependency>
	<groupId>org.springframework.session</groupId>
	<artifactId>spring-session</artifactId>
	<version>1.3.1.RELEASE</version>
</dependency>

008Spring中其它設(shè)計(jì)模式體現(xiàn)?

代理模式:Spring的AOP功能用到了JDK的動(dòng)態(tài)代理和CGLIB字節(jié)碼生成技術(shù)
策略模式:例如Resource的實(shí)現(xiàn)類(lèi),針對(duì)不同的資源文件,實(shí)現(xiàn)了不同方式的資源獲取策略。
責(zé)任鏈模式:AOP中的攔截器鏈
委托者模式:DelegatingFilterProxy,整合Shiro,SpringSecurity的時(shí)候都有用到。
橋接模式:可以根據(jù)客戶(hù)的需求能夠動(dòng)態(tài)切換不同的數(shù)據(jù)源。比如我們的項(xiàng)目需要連接多個(gè)數(shù)據(jù)庫(kù),客戶(hù)在每次訪問(wèn)中根據(jù)需要會(huì)去訪問(wèn)不同的數(shù)據(jù)庫(kù)。

目錄

返回頂部
主站蜘蛛池模板: 日韩精品中文字幕一区二区三区 | 国产成人综合久久亚洲精品 | 天天操穴| 国产亚洲精品一区二区在线观看 | 久草网视频在线观看 | 精品综合久久久久久97超人该 | 日本欧美一区二区三区在线观看 | 久久视热这只是精品222 | 欧美亚洲综合在线观看 | 国产精品一区高清在线观看 | 久操免费| 亚洲精品日韩精品一区 | 五月婷婷之综合激情 | 狠狠综合久久久久综合 | 欧美成人性色 | 青青青手机版视频在线观看 | 久久精品亚洲乱码伦伦中文 | 日本高清中文字幕一区二区三区a | 黄色免费看看 | 欧美韩国日本在线 | 在线免费观看国产精品 | 亚洲在线激情 | 色综合91久久精品中文字幕 | 九九视频这里只有精品 | 四虎影视国产在线观看精品 | 国产精品伦视频观看免费 | 亚洲综合在线观看视频 | 久操久操久操 | 日韩va亚洲va欧美va浪潮 | 五月天婷婷在线免费观看 | 亚洲性色视频 | 亚洲和欧美毛片久久久久 | 怡红院成人永久免费看 | 久久精品视频一区 | 亚洲欧美国产五月天综合 | 美女嗯啊| 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 中国一级特黄aa毛片大片 | 在线观看国产一区亚洲bd | 国产720刺激i在线视频 | 日本一级特黄视频 |