Spring IOC创建对象配置初始化方法和销毁方法

Spring IOC创建对象配置初始化方法和销毁方法

1、创建一个类

public class HelloWorld {
    public HelloWorld(){
        System.out.println("hello world");
    }

    public void init(){
        System.out.println("init");
    }


    public void destroy(){
        System.out.println("destroy");
    }

    public void hello(){
        System.out.println("hello");
    }
}

2、spring配置文件中

<bean id="helloWorld" 
      class="com.ithiema07.spring.ioc.initdestroy.HelloWorld"
      init-method="init"
      destroy-method="destroy"></bean>

3、执行顺序:

  • 1、启动spring容器
  • 2、创建对象
  • 3、执行init方法
    该方法是由spring容器内部调用的
  • 4、执行destroy方法
    该方法是由spring容器内部调用的
    前提:在spring容器关闭的时候执行,仅单例
    注意点:如果一个bean是多例,则spring容器不负责销毁

    4、到目前为止spring容器的执行顺序:

  • 1、启动spring容器

  • 2、如果该bean为单例,并且lazy-init为”default/false”,这个时候为该bean创建对象
  • 3、执行该bean的init方法
  • 4、在客户端利用context.getBean得到该对象
    如果是多例,或者lazy-init为”true”,则在这步创建对象
  • 5、在客户端对象调用方法
  • 6、当spring容器关闭的时候,如果该bean是单例,则调用destroy方法