亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring實(shí)戰(zhàn)之使用@POSTConstruct和@PreDestroy定制生命周期行為操作示例

 更新時(shí)間:2019年12月26日 09:10:12   作者:cakincqm  
這篇文章主要介紹了Spring實(shí)戰(zhàn)之使用@POSTConstruct和@PreDestroy定制生命周期行為操作,結(jié)合實(shí)例形式詳細(xì)分析了Spring使用@POSTConstruct和@PreDestroy定制生命周期相關(guān)接口定義、配置與功能實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Spring實(shí)戰(zhàn)之使用@POSTConstruct和@PreDestroy定制生命周期行為操作。分享給大家供大家參考,具體如下:

一 配置

<?xml version="1.0" encoding="GBK"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context="http://www.springframework.org/schema/context"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-4.0.xsd">
   <!-- 自動(dòng)掃描指定包及其子包下的所有Bean類 -->
   <context:component-scan
      base-package="org.crazyit.app.service"/>
</beans>

二 接口

Axe

package org.crazyit.app.service;
public interface Axe
{
   public String chop();
}
Person
package org.crazyit.app.service;
public interface Person
{
   public void useAxe();
}

三 Bean

Chinese

package org.crazyit.app.service.impl;
import org.springframework.stereotype.*;
import javax.annotation.*;
import org.crazyit.app.service.*;
@Component
public class Chinese implements Person
{
  // 執(zhí)行Field注入
  @Resource(name="steelAxe")
  private Axe axe;
  // 實(shí)現(xiàn)Person接口的useAxe()方法
  public void useAxe()
  {
    // 調(diào)用axe的chop()方法,
    // 表明Person對(duì)象依賴于axe對(duì)象
    System.out.println(axe.chop());
  }
  @PostConstruct
  public void init()
  {
    System.out.println("正在執(zhí)行初始化的init方法...");
  }
  @PreDestroy
  public void close()
  {
    System.out.println("正在執(zhí)行銷(xiāo)毀之前的close方法...");
  }
}

SteelAxe

package org.crazyit.app.service.impl;
import org.springframework.stereotype.*;
import org.crazyit.app.service.*;
@Component
public class SteelAxe implements Axe
{
  public String chop()
  {
    return "鋼斧砍柴真快";
  }
}

StoneAxe

package org.crazyit.app.service.impl;
import org.springframework.stereotype.*;
import org.crazyit.app.service.*;
@Component
public class StoneAxe implements Axe
{
  public String chop()
  {
    return "石斧砍柴好慢";
  }
}

四 測(cè)試類

package lee;
import org.springframework.context.*;
import org.springframework.context.support.*;
import org.crazyit.app.service.*;
public class BeanTest
{
  public static void main(String[] args)
  {
    // 創(chuàng)建Spring容器
    AbstractApplicationContext ctx = new
      ClassPathXmlApplicationContext("beans.xml");
    // 注冊(cè)關(guān)閉鉤子
    ctx.registerShutdownHook();
    Person person = ctx.getBean("chinese" , Person.class);
    person.useAxe();
  }
}

五 測(cè)試結(jié)果

正在執(zhí)行初始化的init方法...
鋼斧砍柴真快
正在執(zhí)行銷(xiāo)毀之前的close方法...

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

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

相關(guān)文章

  • hadoop 單機(jī)安裝配置教程

    hadoop 單機(jī)安裝配置教程

    單機(jī)安裝主要用于程序邏輯調(diào)試。安裝步驟基本通分布式安裝,包括環(huán)境變量,主要Hadoop配置文件,SSH配置等,需要的朋友可以參考下
    2012-11-11
  • SpringBoot中Mybatis注解一對(duì)多和多對(duì)多查詢實(shí)現(xiàn)示例

    SpringBoot中Mybatis注解一對(duì)多和多對(duì)多查詢實(shí)現(xiàn)示例

    這篇文章主要介紹了SpringBoot中Mybatis注解一對(duì)多和多對(duì)多查詢的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • struts2開(kāi)發(fā)流程及詳細(xì)配置

    struts2開(kāi)發(fā)流程及詳細(xì)配置

    這篇文章主要介紹了struts2開(kāi)發(fā)流程及詳細(xì)配置,步驟比較詳細(xì),具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-09-09
  • JavaMap兩種遍歷方式keySet與entrySet詳解

    JavaMap兩種遍歷方式keySet與entrySet詳解

    這篇文章主要介紹了JavaMap兩種遍歷方式keySet與entrySet,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-03-03
  • Java的SpringMVC中控制器返回XML數(shù)據(jù)問(wèn)題

    Java的SpringMVC中控制器返回XML數(shù)據(jù)問(wèn)題

    這篇文章主要介紹了Java的SpringMVC中控制器返回XML數(shù)據(jù)問(wèn)題,控制器是處理HTTP請(qǐng)求的組件,它們接收來(lái)自客戶端的請(qǐng)求,并將其轉(zhuǎn)換為適當(dāng)?shù)捻憫?yīng),這些響應(yīng)可以是動(dòng)態(tài)生成的?HTML?頁(yè)面,也可以是JSON或XML格式的數(shù)據(jù),需要的朋友可以參考下
    2023-07-07
  • 淺談java socket的正確關(guān)閉姿勢(shì)

    淺談java socket的正確關(guān)閉姿勢(shì)

    這篇文章主要介紹了java socket的正確關(guān)閉姿勢(shì),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • jstack配合top命令分析CPU飆高、程序死鎖問(wèn)題

    jstack配合top命令分析CPU飆高、程序死鎖問(wèn)題

    記得前段時(shí)間,同事說(shuō)他們測(cè)試環(huán)境的服務(wù)器cpu使用率一直處于100%,本地又沒(méi)有什么接口調(diào)用,為什么會(huì)這樣?cpu使用率居高不下,自然是有某些線程一直占用著cpu資源,那又如何查看占用cpu較高的線程
    2021-09-09
  • 代理模式之Java動(dòng)態(tài)代理實(shí)現(xiàn)方法

    代理模式之Java動(dòng)態(tài)代理實(shí)現(xiàn)方法

    今天一個(gè)偶然的機(jī)會(huì)我突然想看看JDK的動(dòng)態(tài)代理,因?yàn)橐郧耙仓酪稽c(diǎn),而且只是簡(jiǎn)單的想測(cè)試一下使用,使用很快里就寫(xiě)好了這么幾個(gè)接口和類,需要的朋友可以參考下
    2012-11-11
  • 詳解MyBatis Mapper 代理實(shí)現(xiàn)數(shù)據(jù)庫(kù)調(diào)用原理

    詳解MyBatis Mapper 代理實(shí)現(xiàn)數(shù)據(jù)庫(kù)調(diào)用原理

    這篇文章主要介紹了詳解MyBatis Mapper 代理實(shí)現(xiàn)數(shù)據(jù)庫(kù)調(diào)用原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 詳解Java中ThreadLocal類型及簡(jiǎn)單用法

    詳解Java中ThreadLocal類型及簡(jiǎn)單用法

    ThreadLocal實(shí)例通常是希望將狀態(tài)與線程關(guān)聯(lián)起來(lái)的類中的私有靜態(tài)字段,下面通過(guò)例子給大家詳細(xì)介紹Java中ThreadLocal類型及簡(jiǎn)單用法,感興趣的朋友跟隨小編一起看看吧
    2021-10-10

最新評(píng)論