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

詳解Spring中的@Scope注解

 更新時(shí)間:2023年07月21日 10:35:34   作者:小星向上  
這篇文章主要介紹了詳解Spring中的@Scope注解,@Scope注解是Spring IOC容器中的一個(gè)作用域,在Spring IOC容器中,他用來(lái)配置Bean實(shí)例的作用域?qū)ο?需要的朋友可以參考下

@Scope

Spring管理的Bean默認(rèn)是單例的

@Scope ("prototype") 通過(guò)注解可以實(shí)現(xiàn)多個(gè)實(shí)例的解決

Spring定義了多種作用域,可以基于這些作用域創(chuàng)建bean,包括:

  • 單例( singleton):在整個(gè)應(yīng)用中,只創(chuàng)建bean的一個(gè)實(shí)例。也就是單例
  • 原型(prototype):每次注入或者通過(guò)Spring應(yīng)用上下文獲取的時(shí)候:getBean,都會(huì)創(chuàng)建一個(gè)新的bean實(shí)例。多例,每次getBean的時(shí)候都會(huì)創(chuàng)建新的對(duì)象
  • request表示請(qǐng)求,即在一次http請(qǐng)求中,被注解的Bean都是同一個(gè)Bean,不同的請(qǐng)求是不同的Bean;
  • session表示會(huì)話,即在同一個(gè)會(huì)話中,被注解的Bean都是使用的同一個(gè)Bean,不同的會(huì)話使用不同的Bean。

具體的應(yīng)用大家可以去自己試試

單例 demo

@Controller
public class TestController {
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

結(jié)果

我們多次從context里面去getBean的時(shí)候,都是返回的同一個(gè)對(duì)象

業(yè)務(wù)場(chǎng)景需要每次都獲得是新的對(duì)象

解決方案1:@Scope("prototype")注解

打印結(jié)果

當(dāng)我們從spring上下文中獲取對(duì)象的時(shí)候,返回的是不同的對(duì)象

解決方案二:Bean工廠后置處理器

我們都知道,所有的掃描的類信息都會(huì)被封裝成BeanDefine的形式,最終通過(guò)掃描的Bean定義信息來(lái)創(chuàng)建具體的對(duì)象,所以我們可以通過(guò)Bean工廠后置處理器來(lái)修改Bean定義信息達(dá)到我們目的

/**
 * BeanFactoryPostProcessor bean工廠后置處理器 : 修改bean定義
 */
@Component
public class FactoryPostProcesser implements BeanFactoryPostProcessor {
    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {
        BeanDefinitionRegistry beanDefinitionRegistry =  (BeanDefinitionRegistry)configurableListableBeanFactory;
        BeanDefinition testController = beanDefinitionRegistry.getBeanDefinition("testController");//拿到bean定義信息
        testController.setScope("prototype");//修改bean的scope屬性
    }
}

Test Controller里面還是之前的代碼

打印結(jié)果:

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

相關(guān)文章

  • Java加權(quán)負(fù)載均衡策略實(shí)現(xiàn)過(guò)程解析

    Java加權(quán)負(fù)載均衡策略實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Java加權(quán)負(fù)載均衡策略實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • java 三元操作符用法說(shuō)明

    java 三元操作符用法說(shuō)明

    這篇文章主要介紹了java 三元操作符用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • Java面向?qū)ο蠡A(chǔ)教學(xué)(三)

    Java面向?qū)ο蠡A(chǔ)教學(xué)(三)

    這篇文章主要介紹了Java的面相對(duì)象編程思想,包括類對(duì)象方法和封裝繼承多態(tài)等各個(gè)方面的OOP基本要素,非常推薦,需要的朋友可以參考下,希望可以對(duì)你有所幫助
    2021-07-07
  • SpringBoot如何優(yōu)雅的實(shí)現(xiàn)重試功能

    SpringBoot如何優(yōu)雅的實(shí)現(xiàn)重試功能

    這篇文章主要詳細(xì)介紹了SpringBoot如何優(yōu)雅的實(shí)現(xiàn)重試功能的步驟詳解,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,感興趣的同學(xué)可以借鑒閱讀
    2023-06-06
  • SpringCloud實(shí)現(xiàn)服務(wù)調(diào)用feign與熔斷hystrix和網(wǎng)關(guān)gateway詳細(xì)分析

    SpringCloud實(shí)現(xiàn)服務(wù)調(diào)用feign與熔斷hystrix和網(wǎng)關(guān)gateway詳細(xì)分析

    這篇文章主要介紹了SpringCloud實(shí)現(xiàn)服務(wù)調(diào)用feign與熔斷hystrix和網(wǎng)關(guān)gateway,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-04-04
  • Java設(shè)計(jì)模式之淺談外觀模式

    Java設(shè)計(jì)模式之淺談外觀模式

    這篇文章主要介紹了Java設(shè)計(jì)模式之外觀模式的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Java HtmlParse提取標(biāo)簽中的值操作

    Java HtmlParse提取標(biāo)簽中的值操作

    這篇文章主要介紹了Java HtmlParse提取標(biāo)簽中的值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • 獲取JPEGImageEncoder和JPEGCode這兩個(gè)類的方法

    獲取JPEGImageEncoder和JPEGCode這兩個(gè)類的方法

    下面小編就為大家?guī)?lái)一篇獲取JPEGImageEncoder和JPEGCode這兩個(gè)類的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • Java實(shí)現(xiàn)五子棋游戲

    Java實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • mybatis實(shí)體類字段大小寫及字段獲取不到值問(wèn)題

    mybatis實(shí)體類字段大小寫及字段獲取不到值問(wèn)題

    這篇文章主要介紹了mybatis實(shí)體類字段大小寫及字段獲取不到值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論

黔南| 奎屯市| 灵丘县| 宁阳县| 杨浦区| 涪陵区| 喀喇沁旗| 井陉县| 都兰县| 阿拉善右旗| 株洲县| 旬阳县| 朝阳市| 南木林县| 乐昌市| 兰考县| 安泽县| 嘉善县| 樟树市| 平潭县| 繁昌县| 闽侯县| 清新县| 山东省| 弥渡县| 胶南市| 临沂市| 福州市| 龙海市| 隆安县| 靖远县| 禄丰县| 巴青县| 新津县| 永川市| 彭泽县| 商城县| 南通市| 卓资县| 都匀市| 白城市|