Spring的裝配是怎樣的

這篇文章給大家介紹Spring 裝配是怎樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),香格里拉企業(yè)網(wǎng)站建設(shè),香格里拉品牌網(wǎng)站建設(shè),網(wǎng)站定制,香格里拉網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,香格里拉網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

一、Bean的作用域

single 單例模式(默認(rèn))

<!--    scope="singleton"--><bean id="user" class="com.gwssi.pojo.User" scope="singleton">    <property name="name" value="laughing" />    <property name="age" value="1"/></bean>

IOC容器僅創(chuàng)建一個(gè)Bean實(shí)例,IOC容器每次返回的是同一個(gè)Bean實(shí)例。

single 原型模式

<bean id="user" class="com.gwssi.pojo.User" scope="prototype">    <property name="name" value="laughing" />    <property name="age" value="1"/></bean>

IOC容器可以創(chuàng)建多個(gè)Bean實(shí)例,每次返回的都是一個(gè)新的實(shí)例。

request

該屬性僅對(duì)HTTP請(qǐng)求產(chǎn)生作用,使用該屬性定義Bean時(shí),每次HTTP請(qǐng)求都會(huì)創(chuàng)建一個(gè)新的Bean,適用于WebApplicationContext環(huán)境。

session

該屬性僅用于HTTP Session,同一個(gè)Session共享一個(gè)Bean實(shí)例。不同Session使用不同的實(shí)例。

global-session

該屬性僅用于HTTP Session,同session作用域不同的是,所有的Session共享一個(gè)Bean實(shí)例。

二、Bean自動(dòng)裝配

Spring的裝配是怎樣的

byName自動(dòng)注入:

Spring的裝配是怎樣的

byType自動(dòng)注入:

Spring的裝配是怎樣的

按照類型裝配。

三、注解自動(dòng)裝配

spring2.5之后支持注解裝配,,需要導(dǎo)入約束

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans        https://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context        https://www.springframework.org/schema/context/spring-context.xsd">
   <context:annotation-config/>
</beans>

@Autowired

它可以對(duì)類成員變量、方法及構(gòu)造函數(shù)進(jìn)行標(biāo)注,完成自動(dòng)裝配的工作。(也可用在set方法上)

Spring的裝配是怎樣的

需要符合byname規(guī)范,且在beans中注冊(cè)。

Autowired有一個(gè)屬性required,默認(rèn)為true。

public @interface Autowired {    boolean required() default true;}

Spring的裝配是怎樣的 設(shè)置為false,表示可以為空
我們可以經(jīng)常見(jiàn)到這種寫(xiě)法,表示自動(dòng)裝配到這個(gè)類:

    @Autowired    private MovieCatalog movieCatalog;

@Resource

@Resource的作用和@Autowired相同,@Autowired按byType自動(dòng)注入,@Resource默認(rèn)按 byName自動(dòng)注入罷了。@Resource有兩個(gè)屬性是比較重要的,分是name和type,Spring將@Resource注解的name屬性解析為bean的名字,而type屬性則解析為bean的類型。所以如果使用name屬性,則使用byName的自動(dòng)注入策略,而使用type屬性時(shí)則使用byType自動(dòng)注入策略。如果既不指定name也不指定type屬性,這時(shí)將通過(guò)反射機(jī)制使用byName自動(dòng)注入策略。

@Resources按名字,是JDK的,@Autowired按類型,是Spring的。

關(guān)于Spring 裝配是怎樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

文章題目:Spring的裝配是怎樣的
當(dāng)前URL:http://muchs.cn/article4/gpjcie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站網(wǎng)站營(yíng)銷、云服務(wù)器全網(wǎng)營(yíng)銷推廣、網(wǎng)站收錄、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司