SpringBean中初始化和銷毀的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹了Spring Bean中初始化和銷毀的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),瑯琊企業(yè)網(wǎng)站建設(shè),瑯琊品牌網(wǎng)站建設(shè),網(wǎng)站定制,瑯琊網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,瑯琊網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

具體如下:

一 點睛

在開發(fā)過程中,經(jīng)常遇到在Bean使用之前或者之后做一些必要的操作,Spring對Bean的生命周期的操作提供了支持。

1 Java配置方式:使用@Bean的initMethod和destroyMethod。

2 注解方式:利用JSR-250的@PostConstruct和@PreDestroy。

二 實戰(zhàn)

1 增加JSR250支持

<dependency>
  <groupId>javax.annotation</groupId>
  <artifactId>jsr250-api</artifactId>
  <version>1.0</version>
</dependency>

2 使用@Bean形式的Bean

package com.wisely.highlight_spring4.ch3.prepost;
public class BeanWayService {
   public void init(){
      System.out.println("@Bean-init-method");
    }
    public BeanWayService() {
      super();
      System.out.println("初始化構(gòu)造函數(shù)-BeanWayService");
    }
    public void destroy(){
      System.out.println("@Bean-destory-method");
    }
}

3 使用JSR250形式的Bean

package com.wisely.highlight_spring4.ch3.prepost;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
public class JSR250WayService {
  @PostConstruct //在構(gòu)造函數(shù)執(zhí)行之后執(zhí)行
  public void init(){
    System.out.println("jsr250-init-method");
  }
  public JSR250WayService() {
    super();
    System.out.println("初始化構(gòu)造函數(shù)-JSR250WayService");
  }
  @PreDestroy //在Bean銷毀之前執(zhí)行
  public void destroy(){
    System.out.println("jsr250-destory-method");
  }
}

4 編寫配置類

package com.wisely.highlight_spring4.ch3.prepost;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan("com.wisely.highlight_spring4.ch3.prepost")
public class PrePostConfig {
  //initMethod和destroyMethod指定BeanWayService類的
  //init和destroy方法在構(gòu)造函數(shù)之后、Bean銷毀之前執(zhí)行
  @Bean(initMethod="init",destroyMethod="destroy")
  BeanWayService beanWayService(){
    return new BeanWayService();
  }
  @Bean
  JSR250WayService jsr250WayService(){
    return new JSR250WayService();
  }
}

5 編寫主類

package com.wisely.highlight_spring4.ch3.prepost;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Main {
  public static void main(String[] args) {
    AnnotationConfigApplicationContext context =
        new AnnotationConfigApplicationContext(PrePostConfig.class);
    BeanWayService beanWayService = context.getBean(BeanWayService.class);
    JSR250WayService jsr250WayService = context.getBean(JSR250WayService.class);
    context.close();
  }
}

三 測試

八月 06, 2018 9:53:47 下午 org.springframework.context.annotation.AnnotationConfigApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@1f17ae12: startup date [Mon Aug 06 21:53:47 CST 2018]; root of context hierarchy
初始化構(gòu)造函數(shù)-BeanWayService
@Bean-init-method
初始化構(gòu)造函數(shù)-JSR250WayService
jsr250-init-method
八月 06, 2018 9:53:47 下午 org.springframework.context.annotation.AnnotationConfigApplicationContext doClose
信息: Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@1f17ae12: startup date [Mon Aug 06 21:53:47 CST 2018]; root of context hierarchy
jsr250-destory-method
@Bean-destory-method

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Spring Bean中初始化和銷毀的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)建站,關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)站標題:SpringBean中初始化和銷毀的示例分析-創(chuàng)新互聯(lián)
文章鏈接:http://muchs.cn/article12/dcjpgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務器托管網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站小程序開發(fā)、品牌網(wǎng)站制作、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)