一、首先用圖片的方式給你們展現一下大體的流程。spring
二、代碼app
package cn.spring.demo02;ide
import org.springframework.beans.BeansException;this
import org.springframework.beans.factory.BeanNameAware;spa
import org.springframework.beans.factory.DisposableBean;對象
import org.springframework.beans.factory.InitializingBean;生命週期
import org.springframework.context.ApplicationContext;圖片
import org.springframework.context.ApplicationContextAware;it
public class Person implements DisposableBean, InitializingBean, BeanNameAware,io
ApplicationContextAware {
public Person() {
System.err.println("1:類被初始化成功了...");
}
private String name;
public void setName(String name) {
System.err.println("2:設置屬性...");
this.name = name;
}
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
System.err.println("4:設置applicationcontext");
}
public void ddd() {
System.err.println("8:生命週期結束");
}
@Override
public void setBeanName(String name) {
System.err.println("3:設置bean的名稱");
}
@Override
public void afterPropertiesSet() throws Exception {
System.err.println("5:屬性設置完成了。。");
}
public void init() {
System.err.println("6:調用用戶配置的init-method");
}
public void destroy() throws Exception {
System.err.println("7:對象開始被銷燬了..");
}
}
配置:
<bean id="person" destroy-method="ddd" class="cn.spring.demo02.Person" init-method="init">
<property name="name" value="Jack"></property>
</bean>
如下是結果:
這裏的