- 定义
配置xml文件,如bean的id,class等 - 初始化
IoC容器的开始 - 使用
使用getBean方法获取Bean的实例 - 销毁
把IoC容器中的所有Bean实例销毁
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="defaultinit" default-destroy-method="defaultdestory">
</beans>
在class文件中定义这两个方法
package lifestyle;
public class BeanLifeStyle{
public void defaultinit(){
System.out.println("default bean init");
}
public void defaultdestory(){
System.out.println("default bean destory");
}
}
- 实现接口的初始化和销毁方法
package lifestyle;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
public class BeanLifeStyle implements InitializingBean,DisposableBean{
@Override
public void destroy() throws Exception {
System.out.println("bean destory");
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("bean start");
}
}
- 配置文件中配置初始化和销毁方法
<?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">
<bean id="lifestyle" class="lifestyle.BeanLifeStyle" init-method="start" destroy-method="stop"></bean>
</beans>
在class文件中定义这两个方法
package lifestyle;
public class BeanLifeStyle{
public void start(){
System.out.println("开始");
}
public void stop(){
System.out.println("停止");
}
}
注意:这三个方法同时使用时,1默认的则不执行,而23两种都会执行,并且是2实现接口的方式先于配置中3的执行。
1默认的全局初始化和销毁方法可以有可以没有,有没有对配置都没有太大影响,当然如果一个bean没有采取23初始化销毁方法,而有1默认的方法的话,这两个方法才会执行,即使没有,系统也不会报错。