Spring如何指定@Bean初始化和销毁方法

2025-10-23 13:58:17

1、     bean的生命周期包括:bean的创建到初始化到销毁的过程。我们可以自定义初始化和销毁方法:容器在bean进行到当前生命周期的时候来调用自定的初始化和销毁方法。

package com.gwolf.vo;

public class Car {

        public Car() {

                System.out.println("car constructor...");

        }

        

        public void init() {

                System.out.println("car init()");

        }

        

        public void destroy() {

                System.out.println("car destory()");

        }

}

Spring如何指定@Bean初始化和销毁方法

2、在组件配置类中初始化Car类注入到Spring容器中。

package com.gwolf.config;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import com.gwolf.vo.Car;

@Configuration

public class MainConfigOfLifeCycle {

        

        @Bean

        public Car car() {

                return new Car();

        }

}

Spring如何指定@Bean初始化和销毁方法

3、单实例的对象是在容器启动的时候创建。使用@Bean注解中指定初始化和销毁的方法。

package com.gwolf.config;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import com.gwolf.vo.Car;

@Configuration

public class MainConfigOfLifeCycle {

        

        @Bean(initMethod="init",destroyMethod="destroy")

        public Car car() {

                return new Car();

        }

}

Spring如何指定@Bean初始化和销毁方法

4、这样当spring容器创建的时候将调用对象的初始化方法。

Spring如何指定@Bean初始化和销毁方法

5、当关闭容器的时候将调用对象的销毁方法。

Spring如何指定@Bean初始化和销毁方法

6、初始化的在对象创建完成并赋值后调用初始化方法。

如果对象是多实例的,容器不会管理这个bean,容器不会调用销毁方法。

Spring如何指定@Bean初始化和销毁方法

Spring如何指定@Bean初始化和销毁方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢