2014-09-13 60 views
5

我正在通过Spring Framework(4.1.0)慢慢加入Java世界,需要您与Listeners的帮助。如何在没有部署描述符的Spring中注册监听器

我已经创建了没有部署描述符的应用程序,所有与Spring相关的配置都在@Configuration带注解的类中进行管理。一切正常,但我找不到注册听众的方式。

问题:我如何在基于Java的Spring(4.1.0)中注册监听器@Configuration带注释的分类?

回答

7

你可以在WebApplicationInitializer类的帮助下做到这一点。 @Configuration适用于Spring配置,不适用于部署描述符。

public class MyWebAppInitializer implements WebApplicationInitializer { 
    @Override 
    public void onStartup(ServletContext container) { 
     container.addListener(...); 
     ... 
    } 
} 

你可以在这里找到更多的解释:How to use Spring's WebApplicationInitializer

+0

谢谢你对这个问题的解释。在我的应用程序中,我使用从'AbstractAnnotationConfigDispatcherServletInitializer'继承的类作为初始化程序,因此我可以从我检查的内容中​​注册侦听器。 – xyz 2014-09-13 11:04:53

+0

是的,AbstractAnnotationConfigDispatcherServletInitializer实现了WebApplicationInitializer。 – Bogdan 2014-09-13 11:11:43

+0

对于我的SpringBoot应用程序,我不必使用这个addListener方法,事实上,当我把这个代码,它没有得到执行。任何线索都是为什么? – yathirigan 2015-03-10 20:32:01