Spring bean 生命周期

首先建立Student类,构造get set方法

Spring bean 生命周期_第1张图片

代码如下

package com.jd.vo;

public class Student {

    private int age;
    static {
        System.out.println("静态代码块");    
    }
    {
        System.out.println("非静态代码块");
    }
    public Student() {
        System.out.println("构造方法");
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        System.out.println("setter");
        this.age = age;
    }
    public void init() {
        System.out.println("init");
    }
    public void destroy() {
        System.out.println("destroy");
    }
}

下面配置xml

 
这里init-method="init" 作用bean实例化

init-method:在设置bean的属性后执行的自定义初始化方法,注意:①、该方法不能有参数;②、对象每创建一次就会执行一次该方法;

建立测试类Test

Spring bean 生命周期_第2张图片

 

运行结果如下

Spring bean 生命周期_第3张图片

最后少了一个销毁destroy

destroy-method:该参数中的方法只有bean标签属性scope为singleton且关闭Spring IOC容器时才会被调用,注意:该方法不能有参数

scope默认singleton

原因:

其中并无销毁方法。

改进:

Spring bean 生命周期_第4张图片

输出结果可得

Spring bean 生命周期_第5张图片

以下为其他内容:

1.bean的继承关系

Spring bean 生命周期_第6张图片

这里给school赋值,但是却调用Student(这是因为这里Student类继承school类)

Spring bean 生命周期_第7张图片

2.depends-on的作用:   

   
 


 

你可能感兴趣的:(Spring bean 生命周期)