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

实现org.springframework.beans.factory.InitializingBean 接口--初始化bean

1、案例

import com.dzwl.easy.report.core.service.IUserDescService;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class InitializingBeanTest implements InitializingBean {

    @Autowired
    private IUserDescService iUserDescService;

    private String testValue;

    @Override
    public void afterPropertiesSet() throws Exception {
        this.testValue = "test";
    }
}

初始化完成后,从容器中获取对应的Bean进行验证
InitializingBeanTest bean = SpringContextHolder.getBean(InitializingBeanTest.class);

2、InitializingBean 接口的执行时机
InitializingBean 的 afterPropertiesSet() 方法的执行时机是在spring完成依赖注入后,且在 Bean 正式投入使用之前
,具体执行顺序如下:
1)Bean 实例化:Spring创建bean的实例
2)依赖注入:Spring注入所有必要的依赖(通过构造器、Setter方法等)
3)调用 afterPropertiesSet() :如果Bean 实现了 InitializingBean 接口,Spring会调用 afterPropertiesSet() 方法,允许你在依赖注入完成后执行一些自定义的初始化调用。

3、调用 afterPropertiesSet() 的源码
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#invokeInitMethods
在这里插入图片描述
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#initializeBean(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition)
在这里插入图片描述


http://www.kler.cn/a/323054.html

相关文章:

  • java 数组 拼接 详解
  • sqli-labs靶场17-20关(每日四关)持续更新!!!
  • 手机ip地址异常怎么解决
  • 数字IC后端低功耗设计实现案例分享(3个power domain,2个voltage domain)
  • vue3:computed
  • 一种时间戳对齐的方法(离线)
  • 渲染太慢?Maya云渲染教程
  • 转行大模型的必要性与未来前景:迎接智能时代的浪潮
  • 阅读CVPR论文——mPLUG-Owl2:革命性的多模态大语言模型与模态协作
  • 复杂网络(Complex Network)社团数据可视化分析(gephi)实验
  • 初识爬虫8
  • SwiftUI疑难杂症(1):sheet content多次执行
  • 在Java中,关于final、static关键字与方法的重写和继承【易错点】
  • io流(学习笔记01)--File知识点
  • Qt常用快捷键
  • 数据结构:串 及串的模式匹配(KMP)
  • 视觉无障碍 | 成都爱尔眼科公益助力重获清晰便利独居人生
  • 阿里rtc旁路推流TypeScript版NODE运行
  • 从入门到精通:计算机视觉学习路线与实战项目推荐
  • ROS与无人驾驶学习笔记(零)——问题汇总
  • Linux基础命令kill详解
  • JBOSS中间件漏洞复现
  • STM32 RTC实时时钟学习总结
  • WordPress精选文章如何添加侧边栏和页面?
  • 计算物理精解【8】-计算原理精解【5】
  • 如何在ChatGPT的帮助下,使用“逻辑回归”技巧完成论文写作?