bean的生命周期:
bean的创建——初始化——销毁的过程
容器管理bean的生命周期:
我们可以自定义初始化和销毁方法。容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法。
构造:(对象创建)
单实例:容器启动时就会创建bean
多实例:每次调用时会创建bean
1、指定初始化和销毁方法
<bean id=" " class=" " scope=" " init-method=" " destory-method=" " >
</bean>
2、注解也可以通过设置@Bean的initMethod、destroyMethod属性值来指定bean的初始化和销毁方法。
初始化在对象创建完成并赋值好,调用初始化方法。
销毁在容器关闭的时候调用。
Car类的代码如下:
配置类代码如下:
首先看单实例bean的运行结果:
从代码中可以看出,这里采用的单实例bean,所以在容器中启动时就会创建car的实例,并且调用了car的初始化方法,当容器关闭时,调用了销毁方法。
再看看多实例时,这几个方法如何调用的:
运行结果:
从运行结果可以看出,多实例bean,容器启动时,不会自动创建bean。当通过getBean获取该对象的实例时,才会创建bean,并调用其init方法,当容器销毁时,不会调用bean的销毁方法。也就是说,多实例的bean,容器创建后不会在对其进行管理。而单实例的bean创建完成后,容器还会对其进行管理。