转载。 https://blog.csdn.net/baidu_37107022/article/details/76552052
1. 创建实体SpringBean
public class SpringBean {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
System.out.println("setter---调用set方法进行赋值===="+username);
}
public SpringBean() {
super();
System.out.println("constructor---SpringBean 的构造方法");
}
public void print(){
System.out.println("业务逻辑---SrpingBean 的真实业务逻辑");
}
public void init(){
System.out.println("init---SpringBean 的自定义init方法");
}
public void destroy(){
System.out.println("destroy---SpringBean 的自定义destroy方法");
}
@Override
public String toString() {
return "SpringBean [username=" + username + "]";
}
}
2. 配置applicationContext.xml
在applicationContext.xml中配置自定义的实体类。
3.测试SpringBean的生命周期
public class Test {
public static void main(String[] args) {
//1.加载配置文件
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
//2.获取IOC容器中自定义的实体SpringBean
SpringBean bean=(SpringBean) ctx.getBean("springBean");
System.out.println(bean);
//3.关闭IOC容器:ctx.close();,只有IOC容器关闭才会调用destroy方法
System.out.println("-----------------------关闭IOC容器---------------------");
ctx.close();
}
}
运行结果:
4. SpringBean生命周期流程总结
启动IOC容器时:
1 通过构造器或工厂方法创建 Bean 实例
2 为 Bean 的属性设置值和对其他 Bean 的引用
3 调用 Bean 的初始化方法
4 Bean 可以使用了
5 当容器关闭时 close(), 调用 Bean 的销毁方法