0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Spring Dependency Inject與Bean Scops注解

jf_78858299 ? 來源:ramostear.com ? 作者:ramostear.com ? 2023-04-07 11:35 ? 次閱讀

Spring DI注解

@DependsOn

@DependsOn注解可以配置Spring IoC容器在初始化一個(gè)Bean之前,先初始化其他的Bean對象。下面是此注解使用示例代碼:

圖片

@Bean

@Bean注解主要的作用是告知Spring,被此注解所標(biāo)注的類將需要納入到Bean管理工廠中。@Bean注解的用法很簡單,在這里,著重介紹@Bean注解中initMethoddestroyMethod的用法。示例如下:

圖片

Scops注解

@Scope

@Scope注解可以用來定義@Component標(biāo)注的類的作用范圍以及@Bean所標(biāo)記的類的作用范圍。@Scope所限定的作用范圍有:singleton、prototype、request、session、globalSession或者其他的自定義范圍。這里以prototype為例子進(jìn)行講解。

當(dāng)一個(gè)Spring Bean被聲明為prototype(原型模式)時(shí),在每次需要使用到該類的時(shí)候,Spring IoC容器都會初始化一個(gè)新的改類的實(shí)例。在定義一個(gè)Bean時(shí),可以設(shè)置Bean的scope屬性為prototype:scope=“prototype”,也可以使用@Scope注解設(shè)置,如下:

@Scope(value=ConfigurableBeanFactory.SCOPE_PROPTOTYPE)

下面將給出兩種不同的方式來使用@Scope注解,示例代碼如下:

圖片圖片

@Scope 單例模式

當(dāng)@Scope的作用范圍設(shè)置成Singleton時(shí),被此注解所標(biāo)注的類只會被Spring IoC容器初始化一次。在默認(rèn)情況下,Spring IoC容器所初始化的類實(shí)例都為singleton。同樣的原理,此情形也有兩種配置方式,示例代碼如下:

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    490

    瀏覽量

    21986
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67767
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    335

    瀏覽量

    14259
收藏 人收藏

    評論

    相關(guān)推薦

    java spring教程

    Spring核心概念介紹控制反轉(zhuǎn)(IOC)依賴注入(DI)集合對象注入等Bean的管理BeanFactoryApplicationContextSpring 在web中的使用
    發(fā)表于 09-11 11:09

    spring實(shí)例

    ;UTF-8"?><!DOCTYPE beans PUBLIC"-//SPRING//DTD BEAN//EN""http://www.springframework.org
    發(fā)表于 09-11 11:22

    怎么閱讀Spring源碼

    ,框架會先按照你的配置文件找到那個(gè)要scan的包,然后解析包里面的所有類,找到所有含有@bean,@service等注解的類,利用反射解析它們,包括解析構(gòu)造器,方法,屬性等等,然后封裝成各種信息類放到
    發(fā)表于 05-04 15:21

    Spring筆記分享

    ; 可以管理所有的組件(類)Spring的優(yōu)良特性1) 非侵入式:基于Spring開發(fā)的應(yīng)用中的對象可以不依賴于Spring的API2) 依賴注入:DI——Dependency Inj
    發(fā)表于 11-04 07:51

    Spring認(rèn)證」Spring Hello World 項(xiàng)目示例

    讓我們開始使用 Spring Framework 進(jìn)行實(shí)際編程。在開始使用 Spring 框架編寫第一個(gè)示例之前,您必須確保已按照Spring - 環(huán)境設(shè)置章節(jié)中的說明正確設(shè)置了 Spring
    發(fā)表于 08-17 13:49

    使用Spring自定義注解的實(shí)現(xiàn)

    執(zhí)行器。其本質(zhì)就是通過外部參數(shù)進(jìn)行一次路由和Spring mvc做的事情類似。簡單看了Spring mvc的實(shí)現(xiàn)原理之后,決定使用自定義注解的方式來實(shí)現(xiàn)以上功能。 自定義TaskHandler
    發(fā)表于 09-28 11:55 ?0次下載

    Spring應(yīng)用 1 springXML配置說明

    開發(fā)過程。會使用注解形式的開發(fā)模式。但使用相應(yīng)的注解需要spring.xml中定義相應(yīng)的BeanProcessor,這樣顯得很笨重。 使用@Autowired注解,必須事先在
    發(fā)表于 01-13 12:20 ?362次閱讀

    解析加載及實(shí)例化Bean的順序(零配置)

    的@AutoConfigureAfter注解,手動的指定Bean的實(shí)例化順序。 了解Spring內(nèi)Bean的解析,加載和實(shí)例化順序機(jī)制有助于我們更好的使用
    的頭像 發(fā)表于 08-04 16:08 ?1246次閱讀

    bean放入Spring容器中有哪些方式

    bean放入Spring容器中有哪些方式?
    的頭像 發(fā)表于 09-19 15:25 ?643次閱讀

    淺談Spring事務(wù)底層原理

    開啟Spring事務(wù)本質(zhì)上就是增加了一個(gè)Advisor,但我們使用@EnableTransactionManagement注解來開啟Spring事務(wù)是,該注解代理的功能就是向
    的頭像 發(fā)表于 12-06 09:56 ?616次閱讀

    Spring Web MVC注解

    RequestMapping注解的主要用途是將Web請求與請求處理類中的方法進(jìn)行映射。Spring MVC和Spring WebFlux都通過`RquestMappingHandlerMapping`和`RequestMappi
    的頭像 發(fā)表于 04-07 11:32 ?521次閱讀
    <b class='flag-5'>Spring</b> Web MVC<b class='flag-5'>注解</b>

    Spring Bean相關(guān)的4個(gè)注解及使用方法

    ComponentScan`注解用于配置Spring需要掃描的被組件注解注釋的類所在的包。可以通過配置其basePackages屬性或者value屬性來配置需要掃描的包路徑。value屬性是basePackages的別名。此
    的頭像 發(fā)表于 04-07 11:33 ?1231次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Bean</b>相關(guān)的4個(gè)<b class='flag-5'>注解</b>及使用方法

    容器配置及Spring Boot注解

    Autowired注解用于標(biāo)記Spring將要解析和注入的依賴項(xiàng)。此注解可以作用在構(gòu)造函數(shù)、字段和setter方法上。
    的頭像 發(fā)表于 04-07 11:45 ?501次閱讀
    容器配置及<b class='flag-5'>Spring</b> Boot<b class='flag-5'>注解</b>

    Spring中@Component注解是怎么實(shí)現(xiàn)的

    想必`@Component`注解大家一直在使用,只要類上加上它,就可以被Spring容器管理,那大家有想過它是怎么實(shí)現(xiàn)的嗎?本篇文章就帶領(lǐng)到家揭秘。
    的頭像 發(fā)表于 04-07 15:23 ?1418次閱讀
    <b class='flag-5'>Spring</b>中@Component<b class='flag-5'>注解</b>是怎么實(shí)現(xiàn)的

    Spring容器原始Bean是如何創(chuàng)建的?Spring源碼中方法的執(zhí)行順序

    這個(gè)話題其實(shí)非常龐大,我本來想從 getBean 方法講起,但一想這樣講完估計(jì)很多小伙伴就懵了,所以我們還是一步一步來,今天我主要是想和小伙伴們講講 Spring 容器創(chuàng)建 Bean 最最核心的 createBeanInstance 方法,這個(gè)方法專門用來創(chuàng)建一個(gè)原始
    的頭像 發(fā)表于 08-04 10:12 ?520次閱讀
    <b class='flag-5'>Spring</b>容器原始<b class='flag-5'>Bean</b>是如何創(chuàng)建的?<b class='flag-5'>Spring</b>源碼中方法的執(zhí)行順序