欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring的@Bean和@Autowired組合使用詳解

 更新時(shí)間:2024年01月09日 09:50:07   作者:vegetari  
這篇文章主要介紹了Spring的@Bean和@Autowired組合使用詳解,Spring的@Bean注解用于告訴方法,產(chǎn)生一個(gè)Bean對(duì)象,然后這個(gè)Bean對(duì)象交給Spring管理,產(chǎn)生這個(gè)Bean對(duì)象的方法Spring只會(huì)調(diào)用一次隨后會(huì)將這個(gè)Bean對(duì)象放在自己的IOC容器,需要的朋友可以參考下

@Bean 基礎(chǔ)概念

  • @Bean:Spring的@Bean注解用于告訴方法,產(chǎn)生一個(gè)Bean對(duì)象,然后這個(gè)Bean對(duì)象交給Spring管理。產(chǎn)生這個(gè)Bean對(duì)象的方法Spring只會(huì)調(diào)用一次,隨后這個(gè)Spring將會(huì)將這個(gè)Bean對(duì)象放在自己的IOC容器中;
  • SpringIOC 容器管理一個(gè)或者多個(gè)bean,這些bean都需要在@Configuration注解下進(jìn)行創(chuàng)建,在一個(gè)方法上使用@Bean注解就表明這個(gè)方法需要交給Spring進(jìn)行管理;
  • @Bean是一個(gè)方法級(jí)別上的注解,主要用在@Configuration注解的類里,也可以用在@Component注解的類里。添加的bean的id為方法名;
  • 使用Bean時(shí),即是把已經(jīng)在xml文件中配置好的Bean拿來(lái)用,完成屬性、方法的組裝;比如@Autowired , @Resource,可以通過byTYPE(@Autowired)、byNAME(@Resource)的方式獲取Bean;
  • 注冊(cè)Bean時(shí),@Component , @Repository , @ Controller , @Service , @Configration這些注解都是把你要實(shí)例化的對(duì)象轉(zhuǎn)化成一個(gè)Bean,放在IoC容器中,等你要用的時(shí)候,它會(huì)和上面的@Autowired , @Resource配合到一起,把對(duì)象、屬性、方法完美組裝;

@Autowired 基礎(chǔ)概念

@Autowired 可以將spring ioc 中的bean(例如@Bean 注解創(chuàng)建的bean)的實(shí)例獲取。

舉個(gè)例子

一,使用@Bean 在某個(gè)方法上,產(chǎn)生一個(gè)bean 對(duì)象

@Configuration
public class TokenConfig {
    /**
     * @Bean 注解是告訴該方法產(chǎn)生一個(gè)bean 對(duì)象,然后將該對(duì)象交給spring管理,產(chǎn)生這個(gè)bean 對(duì)象的方法spring 只會(huì)調(diào)用一次。隨后spring會(huì)將這個(gè)bean對(duì)象放在自己的ioc容器中。
     */
    @Bean
    public TokenStore tokenStore() {
        //JWT令牌存儲(chǔ)方案
        return new JwtTokenStore();
    }
}

二,使用@Autowired注解,將在spring 中的bean 對(duì)象獲取到TokenStore

@Configuration
@EnableAuthorizationServer
public class AuthorizationServer extends AuthorizationServerConfigurerAdapter {
   
 @Autowired
 private TokenStore tokenStore;
 
 public AuthorizationServerTokenServices tokenService() {
        DefaultTokenServices service=new DefaultTokenServices();
        //客戶端詳情服務(wù)
        service.setClientDetailsService(clientDetailsService);
        //支持刷新令牌
        service.setSupportRefreshToken(true);
        //令牌存儲(chǔ)策略
        service.setTokenStore(tokenStore);//這一行的tokenStore
        //令牌增強(qiáng)
        TokenEnhancerChain tokenEnhancerChain = new TokenEnhancerChain();
        tokenEnhancerChain.setTokenEnhancers(Arrays.asList(accessTokenConverter));
        service.setTokenEnhancer(tokenEnhancerChain);
 
        // 令牌默認(rèn)有效期2小時(shí)
        service.setAccessTokenValiditySeconds(7200);
        // 刷新令牌默認(rèn)有效期3天
        service.setRefreshTokenValiditySeconds(259200);
        return service;
    }
}

service.setTokenStore(tokenStore);//這一行的tokenStore的意思和

service.setTokenStore(new JwtTokenStore); 是一樣的。

使用 @Autowired 引入TokenStore 類就可以獲取我們使用@Bean對(duì)該對(duì)象設(shè)置的實(shí)例了。

注意,不用管TokenStore 是 interface還是class.都可以被@Bean 調(diào)用

到此這篇關(guān)于Spring的@Bean和@Autowired組合使用詳解的文章就介紹到這了,更多相關(guān)@Bean和@Autowired組合使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何使用mybatis-generator自動(dòng)生成代碼

    如何使用mybatis-generator自動(dòng)生成代碼

    這篇文章主要介紹了如何使用mybatis-generator自動(dòng)生成代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java超詳細(xì)整理講解各種排序

    Java超詳細(xì)整理講解各種排序

    這篇文章主要介紹了Java常用的排序算法及代碼實(shí)現(xiàn),在Java開發(fā)中,對(duì)排序的應(yīng)用需要熟練的掌握,這樣才能夠確保Java學(xué)習(xí)時(shí)候能夠有扎實(shí)的基礎(chǔ)能力。那Java有哪些排序算法呢?本文小編就來(lái)詳細(xì)說說Java常見的排序算法,需要的朋友可以參考一下
    2022-07-07
  • springboot返回modelandview頁(yè)面的實(shí)例

    springboot返回modelandview頁(yè)面的實(shí)例

    這篇文章主要介紹了springboot返回modelandview頁(yè)面的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-10-10
  • 微信開發(fā)之使用java獲取簽名signature

    微信開發(fā)之使用java獲取簽名signature

    這篇文章主要為大家詳細(xì)介紹了微信開發(fā)之使用java獲取簽名signature,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Maven+Tomcat8 實(shí)現(xiàn)自動(dòng)化部署的方法

    Maven+Tomcat8 實(shí)現(xiàn)自動(dòng)化部署的方法

    本篇文章主要介紹了Maven+Tomcat8 實(shí)現(xiàn)自動(dòng)化部署的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-10-10
  • 關(guān)于springboot響應(yīng)式編程整合webFlux的問題

    關(guān)于springboot響應(yīng)式編程整合webFlux的問題

    在springboot2.x版本中提供了webFlux依賴模塊,該模塊有兩種模型實(shí)現(xiàn):一種是基于功能性端點(diǎn)的方式,另一種是基于SpringMVC注解方式,今天通過本文給大家介紹springboot響應(yīng)式編程整合webFlux的問題,感興趣的朋友一起看看吧
    2022-01-01
  • 使用Springboot注解形式進(jìn)行模糊查詢

    使用Springboot注解形式進(jìn)行模糊查詢

    這篇文章主要介紹了使用Springboot注解形式進(jìn)行模糊查詢的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Spring中的編程式事務(wù)和聲明式事務(wù)

    Spring中的編程式事務(wù)和聲明式事務(wù)

    Spring框架中,事務(wù)管理可以通過編程式事務(wù)和聲明式事務(wù)兩種方式實(shí)現(xiàn),編程式事務(wù)通過手動(dòng)編碼控制事務(wù)的開始、提交和回滾,允許開發(fā)者精確控制事務(wù),但增加了代碼復(fù)雜度,聲明式事務(wù)則通過@EnableTransactionManagement注解啟用事務(wù)管理
    2024-11-11
  • springboot實(shí)現(xiàn)防重復(fù)提交和防重復(fù)點(diǎn)擊的示例

    springboot實(shí)現(xiàn)防重復(fù)提交和防重復(fù)點(diǎn)擊的示例

    這篇文章主要介紹了springboot實(shí)現(xiàn)防重復(fù)提交和防重復(fù)點(diǎn)擊的示例,幫助大家更好的理解和學(xué)習(xí)springboot框架,感興趣的朋友可以了解下
    2020-09-09
  • Springboot整合logback的詳細(xì)教程

    Springboot整合logback的詳細(xì)教程

    這篇文章主要介紹了Springboot整合logback的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01

最新評(píng)論