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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在CDI应用程序中使用@Alternative

發(fā)布時間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在CDI应用程序中使用@Alternative 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在許多情況下,您可能希望擁有一個以上版本的Bean,并將其用于不同的目的。 備用bean的典型理由是出于測試目的,其中備用bean提供模擬數(shù)據(jù)。 為了獲得實時數(shù)據(jù),“真實” bean必須連接到的實時系統(tǒng)的好處是遠程,或者在測試場景中使用該時間太耗時。 因此,提供了提供靜態(tài)數(shù)據(jù)的模擬bean。

在本文中,我將建立一個示例,為購物車提供一個模擬價格清單bean。

如何設置替代的Bean實現(xiàn)

實際和替代bean必須實現(xiàn)相同的接口。 在此示例中,它們實現(xiàn)了PriceList接口。

public interface PriceList {String priceList(); }public class LivePriceList implements PriceList {public String priceList() {// connect to price list webservice or databasereturn "Live Price List";} }

@Alternative注釋替代bean,以將其標識為替代實現(xiàn)。

@Alternative public class MockPriceList implements PriceList {public String priceList() {// use hard code prices for testingreturn "Mock Price List";} }

可以使用接口作為類型注入PriceList bean。

public class ShoppingCart {@Injectprivate PriceList priceList;public String ObtainPriceList(){return priceList.priceList();}}

在此示例中,實際的PriceList bean在部署時將由CDI注入到ShoppingCart中。

使用替代豆

要使用替代豆你必須標明的價目表豆使用的心愿在beans.xml的文件中使用的版本。

<beans ...><alternatives><class>com.readlearncode.alternatives.MockPriceList</class></alternatives></beans>

指定了備用bean的全限定名。

結論

部署應用程序后,CDI容器會將備用MockPriceList注入ShoppingCart bean。

源代碼

該示例的源代碼可以在ReadLearnCode GitHub存儲庫中找到。

翻譯自: https://www.javacodegeeks.com/2018/01/using-alternative-cdi-application.html

總結

以上是生活随笔為你收集整理的在CDI应用程序中使用@Alternative的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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