Spring中对象的初始化和销毁

1.对象的初始化

public void init(){
        System.out.println("----User的初始化方法----");
    }

2.对象的销毁

public  void destroy(){
        System.out.println("----User的销毁方法----");
    }

对应的bean:

注意: "singleton":单例 "prototype":多例 如果是多例模式,则spring容器不负责销毁
<bean name="user" class="cn.edu.xysf.ssm.entity.User" scope="singleton" init-method="init" destroy-method="destroy"></bean>

测试类:

@Test
    public void lifeCycleTest(){
        //1。需要实例化IOC容器,子类
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
        //2.从IOC容器中拿到想要的对象
        User user1 = (User)context.getBean("user");
        System.out.println(user1);
        //调用容器的关闭方法,利用容器调用对象的销毁方法
        context.close();

    }

输出结果:

当 scope=singleton

当 scope=prototype

User类:

public class User implements Serializable {

    //生产一个默认的序列化版本号
    private static final long seriaVersionUID=1L;

    private int id;
    private String name;
    private String password;
    private String phone;
    private String workId;
    private String email;

    public User(int id, String name, String password, String phone, String workId, String email) {
        this.id = id;
        this.name = name;
        this.password = password;
        this.phone = phone;
        this.workId = workId;
        this.email = email;
    }
    public User(){
        super();
        System.out.println("User的无参构造方法");
    }
    public void init(){
        System.out.println("----User的初始化方法----");
    }

    public  void destroy(){
        System.out.println("----User的销毁方法----");
    }
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getWorkId() {
        return workId;
    }

    public void setWorkId(String workId) {
        this.workId = workId;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name=" + name +  +
                ", password=" + password +  +
                ", phone=" + phone +  +
                ", workId=" + workId +  +
                ", email=" + email +  +
                };
    }
}
经验分享 程序员 微信小程序 职场和发展