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后面没有括号。
记住千万不要带括号。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
详解java代码中init method和destroy method的三种使用方式
在java的实际开发过程中,我们可能常常需要使用到init method和destroy method,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等等. 周末对这两个方法进行了一点学习和整理,倒也不是专门为了这两个方法,而是在巩固spring相关知识的时候提到了,然后感觉自己并不是很熟悉这个,便好好的了解一下. 根据特意的去了解后,发现实际上可以有三种方式来实现init method和destroy method. 要用这两个方法,自然先要知道这两
-
SpringBoot中的Bean的初始化与销毁顺序解析
我今天学习到SpringBoot里面自定义Bean的初始化与销毁方法 我先总结一下我学到的四种方法: 方法一: 指定init-method 和 destory-method 方法二: 通过让 Bean 实现 InitializingBean 接口,定义初始化逻辑 DisposableBean 接口,定义销毁逻辑 方法三: 用 @PostConstruct,在 Bean 创建完成并且赋值完成后,执行该注解标注的方法 @PreDestroy,在容器销毁 Bean 之前,执行该注解标注的方法 方法四:
-
Spring中bean的初始化和销毁几种实现方式详解
Bean的生命周期 : 创建bean对象 – 属性赋值 – 初始化方法调用前的操作 – 初始化方法 – 初始化方法调用后的操作 – --- 销毁前操作 – 销毁方法的调用. [1]init-method和destroy-method 自定义初始化方法和销毁方法两种方式:xml配置和注解. ① xml配置 <bean id="person" class="com.core.Person" scope="singleton" init-meth
-
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的
随机推荐
- Java中使用JavaMail多发邮件及邮件的验证和附件实现
- Oracle多表级联更新详解
- ASP.NET MVC Admin主页快速构建
- 基于javascript实现精确到毫秒的倒计时限时抢购
- js解析json读取List中的实体对象示例
- PHP合并两个数组的两种方式的异同
- 详解PHP导入导出CSV文件
- 深入理解Python中各种方法的运作原理
- 关于《精通css》之几个不错的注意事项
- linux shell发送Email邮件的方法详解
- CentOS系统下Apache配置多域名或多端口映射的方法
- jQuery仿Excel表格编辑功能的实现代码
- node.js实现微信JS-API封装接口的示例代码
- js tab效果的实现代码
- PHP实现的进度条效果详解
- 比较Java数组和各种List的性能小结
- C#实现windows form限制文本框输入的方法
- C#操作IIS程序池及站点的创建配置实现代码
- php更新mysql后获取改变行数的方法
- C#中数组初始化、反转和排序用法实例