SpringBoot扩展接口- Bean实例化前后扩展点

常用的扩展接口:

1、ApplicationContextAware:获取应用上下文

2、BeanPostProcessor 接口在对象实例化后, 初始化方法调用前后做前置处理和后置处理操作。

触发时间:

刷新上下文refreshContext()方法中,调用 finishBeanFactoryInitialization(beanFactory) 方法,进行bean的实例化

上下文applicationContext的事件监听器和时间广播器已经初始化完成
内置tomcat已经启动

工厂FactoryBean一般不需要扩展接口

普通bean才需要扩展接口

初始化bean的入口 beanFactory.getBean()方法

1、创建bean实例

2、bena实例缓存起来

3、调用populateBean()会在这里进行@Autowire注解的依赖注入

_4、_initializeBean()进行bean的初始化

4.1 BeanNameAware、BeanClassLoaderAware、BeanFactoryAware接口方法调用 (实现了这些接口的bean)

4.2 BeanPostProcessor接口的postProcessBeforeInitialization()方法调用

4.3 调用bean的初始化方法InitializingBean接口afterPropertiesSet()方法

或者注解指定的 init方法

4.4 BeanPostProcessor接口的 postProcessAfterInitialization()方法调用

Original: https://www.cnblogs.com/gne-hwz/p/15305801.html
Author: 海绵般汲取
Title: SpringBoot扩展接口- Bean实例化前后扩展点

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/541140/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • SpringBoot学习笔记总结——动力节点

    最近跟着动力节点王鹤老师的视频学到了springboot,看过最细的springboot讲解,初学入门最佳,自己做了笔记分享给大家 视频资源: @ConfigurationProp…

    Java 2023年6月9日
    049
  • Vue项目环境搭建

    1、安装node https://nodejs.org/en/选择最新版本安装 2、安装成功后,命令窗口查看node是否安装成功 node 查看版本 node -v 3、安装淘宝镜…

    Java 2023年6月9日
    072
  • vue和java图片上传

    @ 前言 – 1、流程及图 2、前端: 1.表单提交 2.上传图片及相关方法 3、配置文件application.xml 3、后端 * 1.控制器 2.上传接口 3.七…

    Java 2023年6月13日
    071
  • java中使用ReentrantLock实现线程安全

    如下代码: class Window4 implements Runnable { private int ticket=100; //1、先定义一个变量 private Reen…

    Java 2023年5月29日
    061
  • webstrome注册码 时间到 2020.6.20

    AHD9079DKZ-eyJsaWNlbnNlSWQiOiJBSEQ5MDc5REtaIiwibGljZW5zZWVOYW1lIjoiSmV0IEdyb3VwcyIsImFzc2l…

    Java 2023年6月8日
    079
  • 职场升职之必备策略

    一、初入职场,在尽可能短的时间内记住每个同事的名字,给别人被重视的满足感。 二、搞清楚自己处于哪一个阶层,然后清楚地知道自己该往哪个方向努力,然后找出速腾的办法去实现它。 三、遇事…

    Java 2023年6月9日
    049
  • java将信息导入到excel文件中

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/jackge/p/4233739.htmlAuthor:…

    Java 2023年5月29日
    077
  • Java:字符分割

    Java:字符分割 // 分割方法String str = “|||||||||||”;log.info(StringUtils.split(str,&#8…

    Java 2023年5月29日
    057
  • Java并发编程(一)JUC同步类

    JUC 是学习 Java 并发编程的小伙伴不可避免的一个 pkg,JUC提供了对并发编程的底层支持,比如我们熟悉的线程池、MQ、线程同步… 都有JUC的影子,下面我们一…

    Java 2023年6月9日
    064
  • 2022-8-9 第六组 输入输出流

    IO流 Java中输入/输出流常用的流: 字节输入流 &#x5…

    Java 2023年6月13日
    067
  • Spring Cloud 面试问题

    说一说你对Spring Cloud的理解 Spring Cloud 是Spring官方推出来的一套微服务应用场景解决方案! 准确来说,我认为Spring Cloud 是对微服务里面…

    Java 2023年6月7日
    099
  • git 常用操作

    可以把分支名理解为指针,比如 master,test,origin/master 等,都是一个指针,指向某次提交快照特殊指针HEAD:Git有一个名为 HEAD 的特殊指针,它是一…

    Java 2023年6月9日
    095
  • 一文学会Java事件机制

    相信做 Java 开发的朋友,大多都是学习过或至少了解过 Java GUI 编程的,其中有大量的事件和控件的绑定,当我们需要在点击某个按钮实现某些操作的时候,其实就是为这个按钮控件…

    Java 2023年6月8日
    074
  • Spring知识点总结4 SpringMVC

    说说自己对于 Spring MVC 了解? MVC 是模型(Model)、视图(View)、控制器(Controller)的简写,其核心思想是通过将业务逻辑、数据、显示分离来组织代…

    Java 2023年6月6日
    084
  • 一文了解Docker基本概念

    一、何为Docker Docker 是一个用于开发、交付和运行应用程序的开放平台,Docker 使您能够将应用程序与基础环境分开,以便您可以快速交付软件。借用百度百科的话来说,Do…

    Java 2023年6月16日
    071
  • XWPFDocument创建和读取Office Word文档基础篇(一)

    注:有不正确的地方还望大神能够指出,抱拳了 老铁! 建议大家使用office word来创建文档。(wps和word结构有些不一样) IBodyElement —&#8…

    Java 2023年6月7日
    095
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球