通过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

  

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

 

2、condition 

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

 

转载于:https://www.cnblogs.com/sg9527/p/7678091.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值