zoukankan      html  css  js  c++  java
  • 通过ContextRefreshedEvent方式初始化方法


    @Component public class StartupListener { private final Logger logger = LogManager.getLogger(getClass()); @EventListener(value = ContextRefreshedEvent.class, condition = "#event.source.displayName.startsWith("Root")") public void afterSpringStarted(ContextRefreshedEvent event) { AbstractRefreshableConfigApplicationContext dd = (AbstractRefreshableConfigApplicationContext) event.getApplicationContext(); GateKeeperCentral gateKeeperCentral = dd.getBean("xxxx", GateKeeperCentral.class); gateKeeperCentral.initContext(); } }

     1、 EventListener

      

    ContextRefreshedEvent ApplicationContext或者叫spring被初始化或者刷新initialized会触发该事件
    ContextStartedEvent spring初始化完,时触发
    ContextStoppedEvent spring停止后触发,一个停止了的动作,可以通过start()方法从新启动
    ContextClosedEvent spring关闭,所有bean都被destroyed掉了,这个时候不能被刷新,或者从新启动了
    RequestHandledEvent 请求经过DispatcherServlet时被触发,在request完成之后

    2、condition 

        可以使用SpEL表达式,就是当满足条件才执行

  • 相关阅读:
    找出一个序列中第k大的元素 [快速选择问题]
    选择排序算法分析
    冒泡排序算法分析
    mysql的安装和配置
    Redis 简明教程
    flink-杂记
    redis-list
    bean创建过程
    镜像
    docker-命令
  • 原文地址:https://www.cnblogs.com/sg9527/p/7678091.html
Copyright © 2011-2022 走看看