当前位置: 首页 > news >正文

系列十六、bean有哪些生命周期的回调方法?有哪几种实现方式?

一、概述

        bean的生命周期的回调方法主要分两种,一种是初始化时进行调用,另外一种是销毁时进行调用。但是不管是初始化还是销毁,都对应着三种方式。

二、实现方式

2.1、注解方式

@PostConstruct + @PreDestroy
@Component
public class UserService {public UserService() {System.out.println("UserService的构造方法执行了...");}@PostConstructpublic void init() {System.out.println("UserService 初始化...");}@PreDestroypublic void destroy () {System.out.println("UserService 销毁...");}}

2.2、实现接口方式

@Component
public class UserService2 implements InitializingBean, DisposableBean {public UserService2() {System.out.println("UserService2的构造方法执行了...");}@Overridepublic void afterPropertiesSet() throws Exception {System.out.println("UserService2 初始化...");}@Overridepublic void destroy() throws Exception {System.out.println("UserService2 销毁...");}
}

2.3、通过指定initMethod和destoryMethod方式

public class UserService3 {public UserService3() {System.out.println("UserService3的构造方法执行了...");}public void init() {System.out.println("UserService3 初始化...");}public void destroy() {System.out.println("UserService3 销毁...");}}
@Configuration
@ComponentScan(basePackages = "org.star")
public class MySpringConfig {@Bean(initMethod = "init",destroyMethod = "destroy")public UserService3 userService3() {return new UserService3();}}

http://www.lryc.cn/news/208892.html

相关文章:

  • 2023平台工程崭露头角,AI 带来新机遇与挑战
  • 如何使用python快速修改Excel表单中的大量数据
  • ✔ ★【备战实习(面经+项目+算法)】 10.27学习
  • 视频分辨率/帧率/码率选择参考
  • LeetCode75——Day18
  • Java NIO 高并发开发
  • 8.循环神经网络
  • [C++随想录] map和set的使用
  • 公网IP怎么设置?公网ip有哪些优点和缺点?
  • 蓝桥杯第 2 场算法双周赛 第2题 铺地板【算法赛】c++ 数学思维
  • APScheduler-调度器 BackgroundScheduler
  • 浅谈UI自动化测试
  • golang 工程组件 grpc-gateway—yaml定义http规则,和自定义实现网关路由
  • 在NLP中一下常见的任务,可以用作baseline;MRPC,CoLA,STS-B,RTE
  • 【计算机网络笔记】Cookie技术
  • 在虚拟环境中,通过pip安装tensorflow
  • 【Django restframework】django跨域问题,解决PUT/PATCH/DELETE用ajax请求无法提交数据的问题
  • 神经网络与深度学习第四章前馈神经网络习题解答
  • Go 语言操作 MongoDb
  • UE4/5 竖排文字文本
  • centos jdk 安装
  • 【计算机网络】什么是HTTPS?HTTPS为什么是安全的?
  • Windows-Oracle19c 安装详解-含Navicate远程连接配置 - 同时连接Oracle11g和Oracle19c
  • 文件权限详解
  • 在声明和定义的一些小坑
  • 浏览器事件循环 (event loop)
  • P1868 饥饿的奶牛
  • 【软考系统架构设计师】2021年系统架构师综合知识真题及解析
  • 如何在忘记手机密码或图案时重置 Android 手机?
  • LeetCode每日一题——2520. Count the Digits That Divide a Number