lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

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 的销毁方法

这里写图片描述

posted on 2019-04-11 21:58  白露~  阅读(400)  评论(0编辑  收藏  举报