spring注解如何为bean指定InitMethod和DestroyMethod

目录
  • spring注解为bean指定InitMethod和DestroyMethod
    • 下面是具体代码
  • 注意@Bean中的initMethod和destroyMethod

spring注解为bean指定InitMethod和DestroyMethod

/**
 *  指定组建的init方法和destroy的几种方法
 *      1:在配置类中 @Bean(initMethod = "init",destroyMethod = "destory")注解指定
 *      2:实现InitializingBean接口重写其afterPropertiesSet方法,实现DisposableBean接口重写destroy方法
 *      3:利用java的JSR250规范中的@PostConstruct标注在init方法上,@PreDestroy标注在destroy注解上
 */

需要注意的是:

  • 单实例bean:容器启动时创建对象
  • 多实例bean:每次获取时创建对象

初始化:

  • 对象创建完成,赋值完成,调用初始化方法

销毁:

  • 单实例:容器关闭时调用
  • 多实例:容器不会销毁,只能手动调用销毁方法

下面是具体代码

Car.java

public class Car {
    public Car() {
        System.out.println("Car's Constructor..");
    }

    public void init(){
        System.out.println("Car's Init...");
    }

    public void destory(){
        System.out.println("Car's Destroy...");
    }
}

配置类

    @Bean(initMethod = "init",destroyMethod = "destory")
    public Car car(){
        return new Car();
    }

注意@Bean中的initMethod和destroyMethod

@Configuration
public class AppConfig {
@Bean(initMethod = "init")
public Foo foo() {
return new Foo();
}
@Bean(destroyMethod = "cleanup")
public Bar bar() {
return new Bar();
}
}

上述代码中initMethod和destroyMethod后面没有括号。

记住千万不要带括号。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解java代码中init method和destroy method的三种使用方式

    在java的实际开发过程中,我们可能常常需要使用到init method和destroy method,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等等. 周末对这两个方法进行了一点学习和整理,倒也不是专门为了这两个方法,而是在巩固spring相关知识的时候提到了,然后感觉自己并不是很熟悉这个,便好好的了解一下. 根据特意的去了解后,发现实际上可以有三种方式来实现init method和destroy method. 要用这两个方法,自然先要知道这两

  • Spring中bean的初始化和销毁几种实现方式详解

    Bean的生命周期 : 创建bean对象 – 属性赋值 – 初始化方法调用前的操作 – 初始化方法 – 初始化方法调用后的操作 – --- 销毁前操作 – 销毁方法的调用. [1]init-method和destroy-method 自定义初始化方法和销毁方法两种方式:xml配置和注解. ① xml配置 <bean id="person" class="com.core.Person" scope="singleton" init-meth

  • SpringBoot中的Bean的初始化与销毁顺序解析

    我今天学习到SpringBoot里面自定义Bean的初始化与销毁方法 我先总结一下我学到的四种方法: 方法一: 指定init-method 和 destory-method 方法二: 通过让 Bean 实现 InitializingBean 接口,定义初始化逻辑 DisposableBean 接口,定义销毁逻辑 方法三: 用 @PostConstruct,在 Bean 创建完成并且赋值完成后,执行该注解标注的方法 @PreDestroy,在容器销毁 Bean 之前,执行该注解标注的方法 方法四:

  • spring注解如何为bean指定InitMethod和DestroyMethod

    目录 spring注解为bean指定InitMethod和DestroyMethod 下面是具体代码 注意@Bean中的initMethod和destroyMethod spring注解为bean指定InitMethod和DestroyMethod /** * 指定组建的init方法和destroy的几种方法 * 1:在配置类中 @Bean(initMethod = "init",destroyMethod = "destory")注解指定 * 2:实现Initia

  • Spring中为bean指定InitMethod和DestroyMethod的执行方法

    1.创建一个类 /** * @author: zhaobin * @date: 2021/11/25 10:16 * @description: */ public class Cat { public Cat(){ System.out.println("先初始化构造器"); } public void start(){ System.out.println("start方法"); } public void destroy(){ System.out.print

  • Spring注解@Configuration与@Bean注册组件的使用详解

    目录 原始Spring开发 Person.java pom.xml bean.xml PersonTest.java 注解Spring开发 原始Spring开发 Person.java 准备Person.java类: package com.jektong.spring; public class Person { private String name; private int age; public Person() { super(); } public Person(String nam

  • Spring注解实现Bean自动装配示例详解

    何为自动装配 自动装配是 Spring 满足 bean 依赖的一种方式. 在使用 Spring 配置 bean 时,我们都要给配置的 bean 的属性设置一个值,如果不手动设置则都是空.而自动的好处就在于,我们不用手动去设置一个值,spring 会在上下文中自动寻找并装配合适的值. 本文主要介绍了Spring注解Bean自动装配的相关内容,下面话不多少了,来一起看看详细的介绍吧 使用须知: 1.导入约束:context约束 2.配置注解的支持: context:annotation-config

  • Java之Spring注解配置bean实例代码解析

    前面几篇均是使用xml配置bean,如果有上百个bean,这是不可想象的.故而,请使用注解配置bean !!! [1]注解类别 @Component : 基本注解, 标识了一个受 Spring(点击这里可以下载<Spring应用开发完全手册>) 管理的组件 @Repository : 标识持久层组件 @Service : 标识服务层(业务层)组件 @Controller : 标识表现层组件 Spring 能够从 classpath 下自动扫描, 侦测和实例化具有特定注解的组件. 对于扫描到的组

  • Spring IOC容器的Bean管理基于注解属性注入方式

    目录 基于注解方式进行属性注入 一.@Autowired 1. 添加对象注解 2. 在service中注入dao对象 3. 创建测试函数测试效果 二.@Qualifier 三.@Resource 1. 替代 @Autowired 2. 替换 @Qualifier 四.@Value 基于注解方式进行属性注入 涉及到 4 个注解 @Autowired:根据属性类型,进行自动装配 @Qualifier:根据属性名称进行注入,跟 @Autowired 一起使用 @Resource:既可以根据类型注入,也

  • spring bean标签中的init-method和destroy-method详解

    目录 1 背景介绍 2 init-method 3 destroy-method 4 总结 1 背景介绍 在很多项目中,经常在xml配置文件中看到init-method 或者 destroy-method .因此整理收集下,方便以后参考和学习.可以使用 init-method 和 destroy-method 在bean 配置文件属性用于在bean初始化和销毁某些动作时.这是用来替代 InitializingBean和DisposableBean接口. init-method 用于指定bean的

  • Spring中如何使用@Value注解实现给Bean属性赋值

    目录 属性赋值 @Value注解的定义: 测试 1.在添加了Spring依赖的Maven项目中创建 2.在resources目录下创建一个配置文件person.properties 3.创建配置类 4.创建测试类进行测试 5.测试结果: 如何给Bean的属性赋值(注入) 1.通过构造方法设置值. 2.设置注入(通过set方法) 属性赋值 只用Spring注解开发的时候,可以使用@Value搭配@PropertySource注解进行给Bean的属性进行赋值. @Value @Value注解的定义:

  • Spring五大类注解读取存储Bean对象的方法

    目录 前情提要 配置spring-config文件 类注解和方法注解 @Controller(控制器存储) @Service(服务存储) @Configuration(配置存储) @Repository(仓库存储) @Component(组件存储) 5大类注解联系 Spring给Bean命名规则 方法注解@Bean 重命名Bean 获取Bean对象(对象装配) 属性注入 构造方法注入 Setter注入 三种注入方式对比 注入同一类型多个Bean对象 前情提要 我们上节内容学习了如何创建\注册\读

  • 使用spring容器在初始化Bean时前和后的操作

    目录 spring容器初始化Bean操作 @PostConstruct和@PreDestroy注解 在XML中定义init-method和destory-method方法 Bean实现InitializingBean和DisposableBean接口 Spring bean 初始化顺序 1.概述 2.InitializingBean vs init-method 3.@PostConstruct 4.小结一下吧 spring容器初始化Bean操作 在某些情况下,Spring容器在初始化Bean的

随机推荐