Spring实战之Bean销毁之前的行为操作示例

网友投稿 441 2023-07-09

Spring实战之Bean销毁之前的行为操作示例

Spring实战之Bean销毁之前的行为操作示例

本文实例讲述了Spring实战之Bean销毁之前的行为操作。分享给大家供大家参考,具体如下:

一 配置

xmlns="http://springframework.org/schema/beans"

xsi:schemaLocation="http://springframework.org/schema/beans

http://springframework.org/schema/beans/spring-beans-4.0.xsd">

destroy-method="close">

xmlns="http://springframework.org/schema/beans"

xsi:schemaLocation="http://springframework.org/schema/beans

http://springframework.org/schema/beans/spring-beans-4.0.xsd">

destroy-method="close">

destroy-method="close">

二 接口

1 Axe

package org.crazyit.app.service;

public interface Axe

{

public String chop();

}

2 Person

package org.crazyit.app.service;

public interface Person

{

public void useAxe();

}

三 BUVMCnOean

1 Chinese

package org.crazyit.app.service.impl;

import org.springframework.beans.factory.DisposableBean;

import org.crazyit.app.service.*;

public class Chinese implements Person,DisposableBean

{

private Axe axe;

public Chinese()

{

System.out.println("Spring实例化主调bean:Chinese实例...");

}

pubhttp://lic void setAxe(Axe axe)

{

System.out.println("Spring执行依赖关系注入...");

this.axe = axe;

}

public void useAxe()

UVMCnO {

System.out.println(axe.chop());

}

public void close()

{

System.out.println("正在执行销毁之前的方法 close...");

}

public void destroy() throws Exception

{

System.out.println("正在执行销毁之前的方法 destroy...");

}

}

2 SteelAxe

package org.crazyit.app.service.impl;

import org.crazyit.app.service.*;

public class SteelAxe implements Axe

{

public SteelAxe()

{

System.out.println("Spring实例化依赖bean:SteelAxe实例...");

}

public String chop()

{

return "钢斧砍柴真快";

}

}

四 测试类

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)

{

// 以CLASSPATH路径下的配置文件创建ApplicationContext

AbstractApplicationContext ctx = new

ClassPathXmlApplicationContext("beans.xml");

// 获取容器中的Bean实例

Person p = ctx.getBean("chinese" , Person.class);

p.useAxe();

// 为Spring容器注册关闭钩子

ctx.registerShutdownHook();

}

}

五 测试结果

Spring实例化依赖bean:SteelAxe实例...

Spring实例化主调bean:Chinese实例...

Spring执行依赖关系注入...

钢斧砍柴真快

九月 21, 2019 9:30:18 下午  org.springframework.context.support.ClassPathXmlApplicationContext doClose

信息: Closing  org.springframework.context.support.ClassPathXmlApplicationContext@5a10411: startup date [Sat Sep 21 21:30:18 CST 2019]; root of  context hierarchy

正在执行销毁之前的方法 destroy...

正在执行销毁之前的方法 close...

更多关于java相关内容感兴趣的读者可查看本站专题:《Spring框架入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:idea tomcat乱码问题的解决及相关设置的步骤
下一篇:IDEA 启动 Tomcat 项目输出乱码的解决方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~