曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>java源碼下載>

Java中bean的作用域

大?。?/span>0.3 MB 人氣: 2017-09-25 需要積分:1

  java開發(fā)者都會在實體對象的屬性中加上private關(guān)鍵字,而在業(yè)務(wù)類對外發(fā)放的方法中寫上public關(guān)鍵字,這并不是習(xí)慣,而是開發(fā)者深諳其道,這就是java對象中filed的作用域。

  舉個例子,你家里的東西,都屬于你家的,家門前的路是屬于你和鄰居們的,你爸爸的剃須刀是屬于你爸爸的;這就是作用域,分清對象歸屬權(quán)限的作用。

  而在spring容器所管理的組件,也是有作用域的。本章將會詳細(xì)闡述bean的作用域,以及其和ApplicationContext、bean和beanFactory絲絲縷縷的聯(lián)系。

  俗話說,授之于魚不如授之以漁,我們還是通過源碼來學(xué)習(xí),希望在這個過程大家都能夠有所提升。

  @Target({ElementType.TYPE, ElementType.METHOD})

  @Retention(RetentionPolicy.RUNTIME)

  @Documented

  public @interface Scope {

  /**

  * Specifies the scope to use for the annotated component/bean.

  * @see ConfigurableBeanFactory#SCOPE_SINGLETON

  * @see ConfigurableBeanFactory#SCOPE_PROTOTYPE

  * @see org.springframework.web.context.WebApplicationContext#SCOPE_REQUEST

  * @see org.springframework.web.context.WebApplicationContext#SCOPE_SESSION

  */

  String value() default ConfigurableBeanFactory.SCOPE_SINGLETON;

  /**

  * Specifies whether a component should be configured as a scoped proxy

  * and if so, whether the proxy should be interface-based or subclass-based.

  * 《p》Defaults to {@link ScopedProxyMode#NO}, indicating that no scoped

  * proxy should be created.

  * 《p》Analogous to {@code 《aop:scoped-proxy/》} support in Spring XML.

  */

  ScopedProxyMode proxyMode() default ScopedProxyMode.DEFAULT;

  }

  在spring容器中,@Scope注解來聲明實例的作用域,在源碼中的注釋中有這樣一句話In this context, scope means the lifecycle of an instance。scope決定了實例的整個生命周期。

  Scope注解的value值上方的注釋告訴我們,當(dāng)前有四個值:(高級版本更新了global session)

  SCOPE_SINGLETON,SCOPE_PROTOTYPE,SCOPE_REQUEST,SCOPE_SESSION,下面分別來看看,這些作用域,有什么不同。

  SCOPE_SINGLETON

  從源碼中可以看到,該作用域是spring默認(rèn)的作用域。`singleton`想必大家都非常熟悉,沒錯,學(xué)習(xí)設(shè)計模式的時候第一個介紹的應(yīng)該就是單例模式,也就是說,spring中的bean,默認(rèn)情況下都是單例。復(fù)習(xí)下什么是單例:在應(yīng)用中,有且只有一個實例。通過之前的bean管理的學(xué)習(xí)([《spring源碼閱讀2-2——bean的管理》](http://www.jianshu.com/p/3c225fc067a0)),我們知道容器中的單例都會被注冊到spring容器中的緩存中,回顧下:

  Java中bean的作用域

  容器中的緩存對象

  這回可以動態(tài)運行demo代碼,證實下spring容器對于bean的管理。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?