zoukankan      html  css  js  c++  java
  • spring中实现自己的初始化逻辑

    实现这两个listener都可以进行自己的初始化逻辑。
    InitializingBean.afterPropertiesSet 这个优先调用
    ApplicationListener.onApplicationEvent 这个后调用

    他们分别由 AbstractApplicationContext.refresh 方法
    调用的如下两个函数调用到的:
    finishBeanFactoryInitialization(beanFactory);
    finishRefresh();

    public class InitListener implements ApplicationListener, InitializingBean {

    @Resource
    private AboutDao aboutDao;

    @Override
    public void afterPropertiesSet() throws Exception {
    System.out.println("afterPropertiesSet");


    Integer count = 0;
    try {
    count = aboutDao.count();
    } catch (Exception e) {
    e.printStackTrace();
    }
    System.out.println(count);


    }

    @Override
    public void onApplicationEvent(ApplicationEvent event) {

    //防止重复调用
    ApplicationContext ctx = (ApplicationContext) event.getSource();
    if (ctx.getParent() != null) {
    return;
    }


    System.out.println("onApplicationEvent");
    Integer count = 0;
    try {
    count = aboutDao.count();
    } catch (Exception e) {
    e.printStackTrace();
    }
    System.out.println(count);

    }
    }
  • 相关阅读:
    C++中的函数
    C++基本语句
    面向对象程序设计
    数据结构中的算法
    数据结构开篇
    条件编译
    文件包含
    简单的宏替换
    系统启动过程
    parted 命令学习
  • 原文地址:https://www.cnblogs.com/fsqsec/p/8204350.html
Copyright © 2011-2022 走看看