Spring中的一些常用接口

Posted 网络终结者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring中的一些常用接口相关的知识,希望对你有一定的参考价值。

一、ApplicationContextAware接口

技术分享
public interface ApplicationContextAware extends Aware {
    void setApplicationContext(ApplicationContext var1) throws BeansException;
}
View Code

二、ServletContextAware 接口

技术分享
public interface ServletContextAware extends Aware {
    void setServletContext(ServletContext var1);
}
View Code

三、InitializingBean 接口

技术分享
public interface InitializingBean {
    void afterPropertiesSet() throws Exception;
}
View Code

四、ApplicationListener<ApplicationEvent> 接口

技术分享
public interface ApplicationListener<E extends ApplicationEvent> extends EventListener {
    void onApplicationEvent(E var1);
}
View Code

执行顺序

技术分享
@Component
public class StartupListener implements ApplicationContextAware, ServletContextAware,
        InitializingBean, ApplicationListener<ContextRefreshedEvent> {
 
    protected Logger logger = LogManager.getLogger();
 
    @Override
    public void setApplicationContext(ApplicationContext ctx) throws BeansException {
        logger.info("1 => StartupListener.setApplicationContext");
    }
 
    @Override
    public void setServletContext(ServletContext context) {
        logger.info("2 => StartupListener.setServletContext");
    }
 
    @Override
    public void afterPropertiesSet() throws Exception {
        logger.info("3 => StartupListener.afterPropertiesSet");
    }
 
    @Override
    public void onApplicationEvent(ContextRefreshedEvent evt) {
        logger.info("4.1 => MyApplicationListener.onApplicationEvent");
        if (evt.getApplicationContext().getParent() == null) {
            logger.info("4.2 => MyApplicationListener.onApplicationEvent");
        }
    }
 
}
View Code

运行时,输出的顺序如下:

1 => StartupListener.setApplicationContext
2 => StartupListener.setServletContext
3 => StartupListener.afterPropertiesSet
4.1 => MyApplicationListener.onApplicationEvent
4.2 => MyApplicationListener.onApplicationEvent
4.1 => MyApplicationListener.onApplicationEvent

 

以上是关于Spring中的一些常用接口的主要内容,如果未能解决你的问题,请参考以下文章

swift常用代码片段

常用python日期日志获取内容循环的代码片段

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式

常用Javascript代码片段集锦

js常用代码片段

spring常用注解作用与常用接口与后置处理器