最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring5使用JSR 330標(biāo)準(zhǔn)注解的方法

 更新時間:2021年09月02日 11:30:44   作者:flydean程序那些事  
從Spring3.0之后,除了Spring自帶的注解,我們也可以使用JSR330的標(biāo)準(zhǔn)注解,本文主要介紹了Spring5使用JSR 330標(biāo)準(zhǔn)注解,感興趣的可以了解一下

之前的文章我們有講過,從Spring3.0之后,除了Spring自帶的注解,我們也可以使用JSR330的標(biāo)準(zhǔn)注解。不過需要加入maven依賴如下:

    <dependencies>
    <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
    </dependency>
    </dependencies>

下面是標(biāo)準(zhǔn)注解和Spring注解的區(qū)別:

Spring javax.inject.* javax.inject限制/描述
@Autowired @Inject @Inject沒有required屬性,可以使用Java8的Optional代替
@Component @Named / @ManagedBean JSR-330沒有提供組合模式,只有一種方式來標(biāo)記命名組件
@Scope(“singleton”) @Singleton JSR-330默認(rèn)范圍類似Spring的prototype,但是為了和Spring的默認(rèn)值保持一致,在Spring中定義的JSR-330 bean默認(rèn)是singleton。如果要使用其他的作用范圍,那么需要使用Spring的@Scope注解。javax.inject也提供了一個@Scope注解。但是這個注解僅用來創(chuàng)建你自己的注解。
@Qualifier @Qualifier / @Named javax.inject.Qualifier只是一個用來構(gòu)建自定義Qualifier的元注解。具體的字符串限定符(如帶value的Spring的@Qualifier)可以通過javax.inject.Named關(guān)聯(lián)。
@Value - 沒有相同功能
@Required - 沒有相同功能
@Lazy - 沒有相同功能
ObjectFactory Provider javax.inject.Provider是Spring的ObjectFactory的直接替代品,它只使用了較短的get()方法名。它還可以與Spring的@Autowired結(jié)合使用,或者與無注解的構(gòu)造函數(shù)和setter方法結(jié)合使用。

下面我們分別來介紹。

@Inject 和 @Named

@Inject可以用來替換@Autowired:

public class SimpleMovieLister {

    private MovieFinder movieFinder;

    @Inject
    public void setMovieFinder(MovieFinder movieFinder) {
        this.movieFinder = movieFinder;
    }

    public void listMovies() {
        this.movieFinder.findMovies();
    }
}

與@Autowired一樣,你可以在字段級、方法級和構(gòu)造函數(shù)參數(shù)級使用@Inject。此外,可以將注入點聲明為Provider,允許通過Provider.get() 調(diào)用按需訪問較短作用域的bean或延遲訪問其他bean。下面是Provider的例子:

public class SimpleMovieProviderLister {
    private Provider<MovieFinder> movieFinder;

    @Inject
    public void setMovieFinder(Provider<MovieFinder> movieFinder) {
        this.movieFinder = movieFinder;
    }

    public void listMovies() {
        this.movieFinder.get().findMovies();
    }
}

可以使用@Named注解來為注入的參數(shù)限定名字:

    @Inject
    public void setMovieFinderNamed(@Named("main") MovieFinder movieFinder) {
        this.movieFinder = movieFinder;
    }

與@Autowired一樣,@Inject也可以與java.util.Optional或@Nullable一起使用。下面是例子:

    @Inject
    public void setMovieFinder(Optional<MovieFinder> movieFinder) {
    }

    @Inject
    public void setMovieFinder(@Nullable MovieFinder movieFinder) {
    }

@Named 和 @ManagedBean

除了使用@Component,你也可以使用@javax.inject.Named 或者 javax.annotation.ManagedBean,如下:

@Named("movieListener")  // @ManagedBean("movieListener") could be used as well
public class SimpleMovieNamedLister {
    
    private MovieFinder movieFinder;

    @Inject
    public void setMovieFinder(MovieFinder movieFinder) {
        this.movieFinder = movieFinder;
    }
}

到此這篇關(guān)于Spring5使用JSR 330標(biāo)準(zhǔn)注解的方法的文章就介紹到這了,更多相關(guān)Spring5 JSR 330注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java模擬客戶端向服務(wù)器上傳文件

    java模擬客戶端向服務(wù)器上傳文件

    這篇文章主要為大家詳細(xì)介紹了java模擬客戶端向服務(wù)器上傳文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Java Socket實現(xiàn)UDP編程淺析

    Java Socket實現(xiàn)UDP編程淺析

    類 DatagramSocket 何 DatagramPacket(數(shù)據(jù)包/數(shù)據(jù)報) 實現(xiàn)了基于 UDP協(xié)議網(wǎng)絡(luò)程序;UDP數(shù)據(jù)報通過數(shù)據(jù)報套接字 DatagramSocket 發(fā)送和接收,系統(tǒng)不保證 UDP數(shù)據(jù)報一定能夠安全送達(dá)目的地,也不確定什么時候可以抵達(dá)
    2022-11-11
  • 詳解Java如何實現(xiàn)一個優(yōu)秀的散列表

    詳解Java如何實現(xiàn)一個優(yōu)秀的散列表

    這篇文章主要通過簡單的示例為大家詳細(xì)介紹了在Java中如何實現(xiàn)一個優(yōu)秀的散列表,文中的示例代碼講解詳細(xì),具有一定的參考價值,需要的可以了解一下
    2023-07-07
  • Java實現(xiàn)輸出數(shù)字三角形實例代碼

    Java實現(xiàn)輸出數(shù)字三角形實例代碼

    大家好,本篇文章主要講的是Java實現(xiàn)輸出三角形實例代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Java設(shè)計模式單例模式(Singleton)用法解析

    Java設(shè)計模式單例模式(Singleton)用法解析

    這篇文章主要介紹了Java設(shè)計模式單例模式(Singleton)用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java網(wǎng)絡(luò)編程之IO模型阻塞與非阻塞簡要分析

    Java網(wǎng)絡(luò)編程之IO模型阻塞與非阻塞簡要分析

    這篇文章主要介紹Java網(wǎng)絡(luò)編程中的IO模型阻塞與非阻塞簡要分析,文中附有示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • springboot bean掃描路徑的實現(xiàn)

    springboot bean掃描路徑的實現(xiàn)

    這篇文章主要介紹了springboot bean掃描路徑的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Springboot處理CORS跨域請求的三種方法

    Springboot處理CORS跨域請求的三種方法

    這篇文章主要介紹了Springboot處理CORS跨域請求的三種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • JavaScript中的Map用法完全指南

    JavaScript中的Map用法完全指南

    這篇文章主要介紹了JavaScript中Map用法的相關(guān)資料,通過實例講解了Map的創(chuàng)建、常用方法和迭代方式,還探討了Map與對象的區(qū)別,并通過一個例子展示了如何使用Map來統(tǒng)計字符出現(xiàn)的次數(shù),需要的朋友可以參考下
    2025-03-03
  • 關(guān)于struts2中Action名字的大小寫問題淺談

    關(guān)于struts2中Action名字的大小寫問題淺談

    這篇文章主要給大家介紹了關(guān)于struts2中Action名字大小寫問題的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-06-06

最新評論

基隆市| 平原县| 潍坊市| 固始县| 高邮市| 花莲市| 梅州市| 蕲春县| 遵化市| 青田县| 石渠县| 榆中县| 红桥区| 小金县| 迁安市| 祁门县| 和龙市| 盖州市| 奈曼旗| 宁河县| 冀州市| 遵化市| 本溪市| 无极县| 岳普湖县| 建阳市| 夏津县| 胶州市| 南充市| 元阳县| 雅安市| 茶陵县| 裕民县| 博罗县| 镇江市| 阿拉尔市| 中江县| 黔江区| 白玉县| 平遥县| 博白县|