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

java JSP開發(fā)之Spring中Bean的使用

 更新時間:2017年08月06日 11:09:09   投稿:lqh  
這篇文章主要介紹了java JSP開發(fā)之Spring中Bean的使用的相關(guān)資料,在Spring中,bean的生命周期就比較復(fù)雜,這里就詳細介紹下,需要的朋友可以參考下

java JSP開發(fā)之Spring中Bean的使用

在傳統(tǒng)的Java應(yīng)用中,bean的生命周期很簡單。使用Java關(guān)鍵字new進行bean實例化,然后bean就可以被使用了,一旦該bean不再使用,Java就自動進行垃圾回收。然而,在Spring中,bean的生命周期就比較復(fù)雜了。下面是一個bean裝載到Spring應(yīng)用上下文的過程:

  如圖所示:在你準(zhǔn)備調(diào)用bean之前,bean工廠執(zhí)行了若干啟動步驟:

      1.Spring對bean進行實例化;

      2.Spring將值和bean的引用注入到bean對應(yīng)的屬性中;

      3.如果bean實現(xiàn)了BeanNameAware接口,Spring將bean的ID傳遞給setBean-Name()方法;

      4.如果bean實現(xiàn)了BeanFactoryAware接口,Spring將調(diào)用setBeanFactory()方法,將BeanFactory容器實例傳入;

      5.如果bean實現(xiàn)了ApplicationContextAware接口,Spring將調(diào)用setApplicationContext()方法,將bean所在的應(yīng)用上下文的引用傳入進來;

      6.如果bean實現(xiàn)了BeanPostProcessor接口,Spring將調(diào)用它們的post-ProcessBeforeInitialization()方法;

      7.如果bean實現(xiàn)了InitializingBean接口,Spring將調(diào)用它們的after-PropertiesSet()方法。類似地,如果bean使用initmethod聲明了初始化方法,該方法也會被調(diào)用;

      8.如果bean實現(xiàn)了BeanPostProcessor接口,Spring將調(diào)用它們的post-ProcessAfterInitialization()方法;

      9.此時,bean已經(jīng)準(zhǔn)備就緒,可以被應(yīng)用程序使用了,它們將一直駐留在應(yīng)用上下文中,直到該應(yīng)用上下文被銷毀;

      10.如果bean實現(xiàn)了DisposableBean接口,Spring將調(diào)用它的destroy()接口方法。同樣,如果bean使用destroy-method聲明了銷毀方法,該方法也會被調(diào)用。

一,創(chuàng)建可以被發(fā)現(xiàn)的Bean

  在廚師的眼中,一套好的刀是必不可少的,它能夠?qū)⑵降氖澄锼夭募庸こ删碌乃囆g(shù)品。

 package cooking;
 
 public interface knife{
 
   void cut();
 }

  現(xiàn)在,我們創(chuàng)建一個名為knife(刀)的接口,它擁有cut(切)的功能。接下來我們實現(xiàn)這個接口

package cooking

  @Component
public class beef implements knife{

 private int weight = 2;
 private double price = 32.1;

 public void cut(){
  System.out.println(“This is perfect beef”,+“weight:”+weight
+“kg”+“,”+“It's price is”+price+"$");
  }    
}

  請注意,我們在beef類上使用了@Component注解。這個簡單的注解表明 該類是一個組件類,并告訴Spring要為這個類創(chuàng)建bean。

  在默認情況下,組件掃描是不啟用的,我們需要顯示配置一下Spring,命令Spring去尋找?guī)в蠤Component注解的類,并為其創(chuàng)建bean

package cooking

@Configuration
@ComponentScan
public class knifeConfig{

  
}

  注意到,在knifeConfig類上加上了@ComponentScan注解,該注解能夠在Spring中開啟組件掃描,如果沒有其他配置的話,@ComponentScan默認會掃描與配置類相同的包,去查找?guī)в蠤Component的注解類,并在Spring中自動為其創(chuàng)建一個bean。如果你更傾向于使用XML來啟用組件掃描的話,那么可以使用Spring context命名空間的<context:component-scan>元素。

<context:component-scan base-package="cooking"/> 該標(biāo)簽會開啟組件掃描,去cooking包下尋找?guī)в蠤Component的注解類。

以上就是Spring中Bean的使用方法,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • IDEA如何修改配置文件的存放位置

    IDEA如何修改配置文件的存放位置

    這篇文章主要介紹了IDEA如何修改配置文件的存放位置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java使用Redis實現(xiàn)秒殺功能

    Java使用Redis實現(xiàn)秒殺功能

    這篇文章主要為大家詳細介紹了Java使用Redis實現(xiàn)秒殺功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • SpringBoot中ApplicationEvent的使用步驟詳解

    SpringBoot中ApplicationEvent的使用步驟詳解

    ApplicationEvent類似于MQ,是Spring提供的一種發(fā)布訂閱模式的事件處理方式,本文給大家介紹SpringBoot中ApplicationEvent的使用步驟詳解,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Java虛擬機內(nèi)存區(qū)域劃分詳解

    Java虛擬機內(nèi)存區(qū)域劃分詳解

    這篇文章主要介紹了Java虛擬機內(nèi)存區(qū)域劃分,本文邏輯清晰,可以幫助我們更好的掌握虛擬機,對我們學(xué)習(xí)java來說是一種幫助,需要的朋友可以參考下
    2021-04-04
  • Java利用字符流輕松處理文本數(shù)據(jù)

    Java利用字符流輕松處理文本數(shù)據(jù)

    在Java中,文本數(shù)據(jù)是經(jīng)常處理的一種數(shù)據(jù)類型,而字符流就是用來處理文本數(shù)據(jù)的一種流,下面就為大家介紹一下Java字符流的基本概念、常用類和方法,以及如何使用字符流來讀寫文件吧
    2023-09-09
  • Map映射LinkedHashSet與LinkedHashMap應(yīng)用解析

    Map映射LinkedHashSet與LinkedHashMap應(yīng)用解析

    這篇文章主要為大家介紹了Map映射LinkedHashSet與LinkedHashMap的應(yīng)用解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進步
    2022-03-03
  • java eclipse 中文件的上傳和下載示例解析

    java eclipse 中文件的上傳和下載示例解析

    這篇文章主要介紹了eclipse java中文件的上傳和下載示例解析,文件上傳,瀏覽器在上傳的過程中是將文件以流的形式提交到服務(wù)器端的。對此感興趣的小伙伴可以了解一下
    2020-07-07
  • Java使用Unsafe類的示例詳解

    Java使用Unsafe類的示例詳解

    java不能直接訪問操作系統(tǒng)底層,而是通過本地方法來訪問。Unsafe類提供了硬件級別的原子操作,這篇文章主要介紹了Java使用Unsafe類,需要的朋友可以參考下
    2021-09-09
  • spring cloud 使用Hystrix 實現(xiàn)斷路器進行服務(wù)容錯保護的方法

    spring cloud 使用Hystrix 實現(xiàn)斷路器進行服務(wù)容錯保護的方法

    本篇文章主要介紹了spring cloud 使用Hystrix 實現(xiàn)斷路器進行服務(wù)容錯保護的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Java全面詳細講解邏輯控制的使用

    Java全面詳細講解邏輯控制的使用

    在程序開發(fā)的過程之中一共會存在三種程序邏輯:順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu),對于之前所編寫的代碼大部分都是順序結(jié)構(gòu)的定義,即:所有的程序?qū)凑斩x的代碼順序依次執(zhí)行,讓我們來深入探討一下
    2022-04-04

最新評論

手机| 神池县| 伊川县| 都安| 汕尾市| 沙河市| 新津县| 怀集县| 博爱县| 呈贡县| 洛隆县| 汽车| 扎兰屯市| 南平市| 陈巴尔虎旗| 潮安县| 泾源县| 保亭| 湾仔区| 渝中区| 环江| 方正县| 二手房| 鸡泽县| 韶关市| 太原市| 河曲县| 安顺市| 衡水市| 昌吉市| 平安县| 合作市| 望奎县| 鹰潭市| 岐山县| 隆尧县| 通榆县| 平山县| 弥渡县| 花莲县| 剑川县|