【ApplicationListener用法】不飞则已,一飞冲天;不鸣则已,一鸣惊人。这篇文章主要讲述ApplicationListener用法相关的知识,希望能为你提供帮助。
ApplicationListener是spring提供的接口,作用是在web服务器启动时去加载某些程序。
用法:
1、实现ApplicationListener接口,并重写onApplicationEvent方法
@Component public class StartLoader implements ApplicationListener< ContextRefreshedEvent> {@Override public void onApplicationEvent(ContextRefreshedEvent event) { if(event.getApplicationContext().getParent() == null){ System.out.println("系统初始化..."); try { Thread.currentThread().sleep(1000); } catch (Exception e) { System.out.println("初始化异常..."); e.printStackTrace(); } System.out.println("初始化完成..."); } } }
event.getApplicationContext().getParent() == null:
ApplicationContext就是Root容器,所以不存在父容器
2、创建spring的应用上下文(ApplicationContext.xml),并配置注解扫描(或配置bean)
< !--自动扫描含有@Component将其注入为bean --> < context:component-scan base-package="com.aidilude.component" />
3、配置web.xml
< context-param> < param-name> contextConfigLocation< /param-name> < param-value> classpath:spring.xml < /param-value> < /context-param> < listener> < listener-class> org.springframework.web.context.ContextLoaderListener< /listener-class> < /listener>
ContextLoaderListener的作用了:
在web容器初始化的时候,加载spring的应用上下文配置文件(ApplicationContext.xml),与context-param标签一起使用
推荐阅读
- django startapp报 maximum recursion depth exceeded
- android studio 2018.3.23
- android studio 2018.3.22
- Could not find com.android.support:appcompat-v7:23.1.1
- RN app打包
- Failed to resolve: com.android.support:appcompat-v7:27.0.1问题解决
- Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-i
- android------DDMS files not found: toolshprof-conv.exe
- mysql 安装异常(this application requires .NET Framework(尚未安装.NET Framework 4.5 原因是:指定))