美文网首页
在spingboot启动后,bean初始化前启动监听器

在spingboot启动后,bean初始化前启动监听器

作者: 暮丶晓 | 来源:发表于2019-01-16 10:12 被阅读0次

前面写过一篇文章,提到了配置springboot监听器,也能正常的监听springboot启动。但是存在一个问题,就是,如果想要在bean初始化的时候使用监听器中获取的配置的时候,这种方式不能实现。

想要实现在springboot启动后,bean初始化之前监听,需要做如下的改变:

改变一下监听事件类型即可

public class PropertyListener implements ApplicationListener<ApplicationPreparedEvent> {

...

}

只要实现的ApplicationPreparedEvent事件监听,就可以实现在springboot启动后、bean初始化之前监听。

此时,需要在SpringApplication中添加监听器

SpringApplication springApplication =new SpringApplication(DemoApplication.class);

springApplication.addListeners(new PropertyListener());

springApplication.run(args);

这种方式有一个缺点,就是不能在单元测试中使用监听器!不能在单元测试中使用监听器!不能在单元测试中使用监听器!

重要的事情说三遍!!!

相关文章

  • 在spingboot启动后,bean初始化前启动监听器

    前面写过一篇文章,提到了配置springboot监听器,也能正常的监听springboot启动。但是存在一个问题,...

  • Spring

    bean的生命周期 1 . 首先容器启动后,对bean进行初始化2 . 按照bean的定义,注入属性3 . 检测该...

  • Spring Bean的生命周期

    Bean的生命周期 过程 : bean创建 -> bean初始化 -> 销毁 对象的构造 单例模式:在容器启动的时...

  • Spring Cloud Eureka 源码分析 — Serve

    一. 前言 本文主要分析eureka server端启动流程,包括启动入口、bean注入过程、初始化过程等。 cl...

  • Spring-IOC

    在Spring容器启动的时候,Spring会把你在application.xml中配置好的bean都初始化,需要调...

  • 手动启动 pg 数据库

    postgresql 数据库在macOs 上面是没有默认启动的,需要手动来启动。启动前我们需要初始化数据库,命令如...

  • 【Spring源码】 FactoryBean接口

    容器初始化阶段 实例化原始bean 启动容器的时候,如果当前bean 实现了FactoryBean,则先实例化将n...

  • 2018-06-07

    如何在项目启动时执行某些操作 项目启动时,利用spring容器初始化bean来实现。 共3种方法: (1)通过@P...

  • spring-data-elasticsearch 测试添加ty

    spingboot elastic data 项目 实体类 启动springboot项目然后查看mapping 说...

  • Spring原理分析-初始化与销毁执行顺序

    一、初始化执行顺序 1、基础准备 ① 编写Bean1 ② 编写启动类 ③ 测试 2、总结 @PostConstru...

网友评论

      本文标题:在spingboot启动后,bean初始化前启动监听器

      本文链接:https://www.haomeiwen.com/subject/qwupdqtx.html