• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
如果晴天
博客园    首页    新随笔    联系   管理    订阅  订阅
浅谈spring ApplicationListener 监听器的使用

 使用场景:在实际项目中,我们通常希望web应用程序启动(这里指spring IOC容器加载bean)成功后,进行初始化工作,比如:数据库的加载、特定任务的检查等。

 

 

 实现过程:定义一个MyApplicationListener类,实现ApplicationListener<ApplicationEvent>接口。若是使用配置文件(springmvc.xml等)该类通常会被执行三次。为了解决这种问题,我定义了一个变量isStart,并默认初始值为false。

代码如下:

@Controller
public class MyApplicationListener implements ApplicationListener<ApplicationEvent> {
//定义该变量主要是为了 防止业务代码被执行三次,
private static boolean isStart = false;
@Override
public void onApplicationEvent(ApplicationEvent event) {
if (!isStart) {
//特定任务的业务代码
System.out.println("这里进行初始化工作------");
isStart = true;
}
}
}

 

posted on 2018-05-06 13:40  如果晴天  阅读(2982)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3