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

Spring Bean的初始化和銷毀實例詳解

 更新時間:2019年11月05日 12:00:14   作者:cakincqm  
這篇文章主要介紹了Spring Bean的初始化和銷毀,結(jié)合實例形式詳細分析了Spring Bean的初始化和銷毀相關(guān)配置、使用方法及操作注意事項,需要的朋友可以參考下

本文實例講述了Spring Bean的初始化和銷毀。分享給大家供大家參考,具體如下:

一 點睛

在開發(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.ch2.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.ch2.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.ch2.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.ch2.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.ch2.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

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Spring框架入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • java Tcp通信客戶端與服務(wù)器端實例

    java Tcp通信客戶端與服務(wù)器端實例

    這篇文章主要介紹了java Tcp通信客戶端與服務(wù)器端,結(jié)合完整實例形式詳細分析了java基于tcp的網(wǎng)絡(luò)通信客戶端與服務(wù)器端具體實現(xiàn)技巧,需要的朋友可以參考下
    2020-01-01
  • spring配置文件中util:properties和context:property-placeholder用法

    spring配置文件中util:properties和context:property-placeholder用法

    這篇文章主要介紹了spring配置文件中util:properties和context:property-placeholder用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java靜態(tài)泛型使用方法實例解析

    Java靜態(tài)泛型使用方法實例解析

    這篇文章主要介紹了Java靜態(tài)泛型使用方法實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot3.x版本與Mybatis-Plus不兼容問題

    SpringBoot3.x版本與Mybatis-Plus不兼容問題

    當(dāng)使用3.x版本的SpringBoot結(jié)合Mybatis-Plus時版本不兼容就會報錯,本文就來介紹一下這個問題的解決方法,感興趣的可以了解一下
    2024-03-03
  • java 實現(xiàn)鏈棧存儲的方法

    java 實現(xiàn)鏈棧存儲的方法

    下面小編就為大家?guī)硪黄猨ava 實現(xiàn)鏈棧存儲的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Spring Boot中使用RSocket的示例代碼

    Spring Boot中使用RSocket的示例代碼

    這篇文章主要介紹了Spring Boot中使用RSocket的示例代碼,特別是spring boot 如何幫助抽象出更低級別的RSocket API,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • IDEA安裝阿里巴巴編碼規(guī)范插件的兩種方式詳解(在線安裝和離線安裝)

    IDEA安裝阿里巴巴編碼規(guī)范插件的兩種方式詳解(在線安裝和離線安裝)

    這篇文章主要介紹了IDEA安裝阿里巴巴編碼規(guī)范插件的兩種方式詳解(在線安裝和離線安裝),本文通過截圖給大家展示的非常詳細,需要的朋友可以參考下
    2021-09-09
  • Java之Springcloud Feign組件詳解

    Java之Springcloud Feign組件詳解

    這篇文章主要介紹了Java之Springcloud Feign組件詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java 集合的Contains和Remove方法

    Java 集合的Contains和Remove方法

    這篇文章主要介紹了Java 集合Contains和Remove方法的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-02-02
  • Java中Map和Set練習(xí)項目實例代碼

    Java中Map和Set練習(xí)項目實例代碼

    這篇文章主要給大家介紹了關(guān)于Java中Map和Set練習(xí)項目的相關(guān)資料,首先介紹了如何使用map來統(tǒng)計字符串?dāng)?shù)組中每個字符串的出現(xiàn)次數(shù),然后討論了如何使用set來找出只出現(xiàn)一次的數(shù)字,最后提出了一個解決壞鍵盤打字問題的思路,需要的朋友可以參考下
    2024-11-11

最新評論

喀喇沁旗| 东乌珠穆沁旗| 嘉善县| 南通市| 根河市| 祁东县| 介休市| 象山县| 竹溪县| 招远市| 福泉市| 绥德县| 黎平县| 丹凤县| 贵阳市| 文山县| 镇雄县| 航空| 永胜县| 东安县| 景泰县| 丰原市| 宜川县| 万源市| 韶关市| 怀安县| 云安县| 鄂托克前旗| 肃北| 吴旗县| 武邑县| 永仁县| 滕州市| 博客| 蒙自县| 浦东新区| 克拉玛依市| 阳高县| 绵竹市| 正镶白旗| 鄂温|