所有的Bean都可以声明自定义初始化方法和销毁方法:
第一种方法
第一步:在xml中添加init-method
和destroy-method
属性
<bean name="bean" class="df.imp.ChineSay" init-method="start" destroy-method="stop"></bean>
init-method:初始化就会调用的方法
destroy-method:撤销调用的方法
第二步:在类中添加方法xml
中的方法名
public void start() { System.out.println("初始化被执行了");}
public void stop() { System.out.println("撤销了");}
第二种方法
上面的方法只能需要在bean
中声明init-method
和destroy-method
属性才能起作用,如果需要所有的bean
都需要添加初始化方法和撤销方法,那么就需要全局设置了:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
default-init-method="g_start" default-destroy-method="g_stop">
default-init-method
和default-destroy-method
表示默认初始化和撤销的执行方法,需要在类里面添加对应的方法名,本例子添加的是g_start
和g_stop
,所以需要在类中添加这两个方法。如果没有则不会执行,也不会报错
第三种方法
实现spring
自带的初始化接口和撤销接口,不需要在xml
中做任何设置
InitializingBean
接口:实现该接口的afterPropertiesSet
方法,初始化就会执行该方法
DisposableBean
接口:实现该接口的destroy
方法,撤销就会执行该方法