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);

    }
    }
  • 相关阅读:
    ES6、ES7、ES8特性
    【react】XXX项目环境搭建
    map
    vector
    list
    米勒素数模板
    POJ-2421-Constructing Roads(最小生成树 普利姆)
    HDU1301 Jungle Roads(Kruskal)
    Truck History(prime)
    phpstorm快捷键和激活
  • 原文地址:https://www.cnblogs.com/fsqsec/p/8204350.html
Copyright © 2011-2022 走看看