日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java引入bean代码_通过java代码装配bean

發(fā)布時(shí)間:2024/7/23 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java引入bean代码_通过java代码装配bean 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

importorg.springframework.beans.factory.annotation.Qualifier;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;/** Spring 的組件掃描默認(rèn)是不啟用的,需要顯式配置啟用組件掃描去尋找被 @Component 注解修飾的組件類,并為其創(chuàng)建 bean 實(shí)例。

**/

/** 標(biāo)記類 CDPlayerConfig 是 Spring 的配置類,通過(guò) java 代碼定義 Spring 的裝配規(guī)則。

* 該類應(yīng)該包含在Spring應(yīng)用上下文中如何創(chuàng)建bean的細(xì)節(jié)。

**/@Configurationpublic classCDPlayerConfig {/** 要在 JavaConfig 中聲明 bean ,我們需要編寫(xiě)一個(gè)方法,這個(gè)方法會(huì)創(chuàng)建所需類型的實(shí)例,然后給這個(gè)方法添加 @Bean 注解。

*

* @Bean 注解會(huì)告訴 Spring 這個(gè)方法將會(huì)返回一個(gè)對(duì)象,該對(duì)象要注冊(cè)為 Spring 應(yīng)用上下文中的 bean 。

* 方法體中包含了最終產(chǎn)生 bean 實(shí)例的邏輯。

*

* 默認(rèn),bean 的 ID 和方法名是一樣的,如下 bean 的 ID 為 sgtPeppers 。

* 如果想手動(dòng)為 bean 指定一個(gè) ID ,可以使用 @Bean 的 name 屬性,如:

* @Bean(name="lonelyHeartsClubBand") **/@BeanpublicCompactDisc sgtPeppers() {return newSgtPeppers();

}//這里是使用 Java 創(chuàng)建 bean,因此我們可以發(fā)揮 Java 提供的所有功能,只要最終生成一個(gè) CompactDisc 實(shí)例即可。例如:

@BeanpublicCompactDisc randomBeatlesCD() {

CompactDisc cd;int choice = (int) Math.floor(Math.random() * 4);switch(choice) {case 1:

cd= newSgtPeppers();break;case 2:

cd= newWhiteAlbum();break;case 3:

cd= newHardDaysNight();break;default:

cd= newRevolver();break;

}returncd;

}/** Spring 裝配方式一:

* 在JavaConfig中裝配bean的最簡(jiǎn)單方式就是引用創(chuàng)建bean的方法。

**/@BeanpublicCDPlayer cdPlayer() {//return new CDPlayer(sgtPeppers());

return new CDPlayer(newWhiteAlbum());

}/** Spring 裝配方式二:

* 當(dāng) Spring 調(diào)用 cdPlayer() 創(chuàng)建 CDPlayer bean 的時(shí)候,它會(huì)自動(dòng)裝配一個(gè) CompactDisc 到配置方法之中。

* 然后,方法體就可以按照合適的方式來(lái)使用它。

*

* 通過(guò)這種方式引用其他的 bean 通常是最佳的選擇,因?yàn)樗粫?huì)要求將 CompactDisc 聲明到同一個(gè)配置類之中。

* 在這里甚至沒(méi)有要求 CompactDisc 必須要在 JavaConfig 中聲明,

* 實(shí)際上它可以通過(guò)組件掃描功能自動(dòng)發(fā)現(xiàn)或者通過(guò) XML 來(lái)進(jìn)行配置。

* 你可以將配置分散到多個(gè)配置類、XML 文件以及自動(dòng)掃描和裝配 bean 之中,

* 只要功能完整健全即可。不管 CompactDisc 是采用什么方式創(chuàng)建出來(lái)的,

* Spring 都會(huì)將其傳入到配置方法中,并用來(lái)創(chuàng)建 CDPlayer bean 。

*

* 當(dāng)配置類中有多個(gè)同類型的 bean 時(shí),此時(shí)可以使用 @Qualifier 注解來(lái)指定參數(shù)注入的是哪一個(gè)具體的 bean 。 **/@Beanpublic CDPlayer cdPlayer(@Qualifier("randomBeatlesCD") CompactDisc compactDisc) {return newCDPlayer(compactDisc);

}/** 我們也可以采用屬性賦值的方式來(lái)注入依賴值,這里所存在的可能性僅僅受到Java語(yǔ)言的限制。

**/

//@Bean//public CDPlayer cdPlayer(@Qualifier("sgtPeppers") CompactDisc compactDisc) {//CDPlayer cdPlayer = new CDPlayer();//cdPlayer.setCd(compactDisc);//return cdPlayer;//}

}

總結(jié)

以上是生活随笔為你收集整理的java引入bean代码_通过java代码装配bean的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。