- 定義
配置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");
}
}
- 實現(xiàn)接口的初始化和銷毀方法
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默認的則不執(zhí)行,而23兩種都會執(zhí)行装诡,并且是2實現(xiàn)接口的方式先于配置中3的執(zhí)行儡遮。
1默認的全局初始化和銷毀方法可以有可以沒有,有沒有對配置都沒有太大影響阴孟,當然如果一個bean沒有采取23初始化銷毀方法首启,而有1默認的方法的話暮屡,這兩個方法才會執(zhí)行,即使沒有毅桃,系統(tǒng)也不會報錯褒纲。