2016-01-27 23 views
0

也许这是一个微不足道的问题,但作为一名Spring初学者,我总是问自己:“Spring如何在一个扩展他的类的项目中使用类?”Spring如何在一个项目中找到他的课程?

例如,AbstractAnnotationConfigDispatcherServletInitializer

public class Initializer extends AbstractAnnotationConfigDispatcherServletInitializer 
{ 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 

    } 

} 

Initializer类它宣布在一家手工打造的包装与非特殊的名字,所以我在想:如何能找到春和实例我Initializer类?它是否会对我的项目进行任何类型的“包装扫描”,试图获得所有扩展自己的类或其他类?

+0

WebApplicationInitializer在应用程序启动时进行初始化,并基于web.xml中的“/”映射注册servlet。所有* servletInitializers都实现了WebApplicationInitializer。 以供参考:http://docs.spring.io/autorepo/docs/spring-framework/3.1.x/javadoc-api/org/springframework/web/WebApplicationInitializer.html – Jango

+0

添加了更好的解释:我的意思是哪种方式Spring实例化我的初始化类? – grimi

回答

0

servlet容器在部署时扫描webapp的类。它允许它自动注册使用@WebServlet注释的类作为servlet,注释为@WebFilter的类作为servlet过滤器等。

它还允许如果找到实现javax.servlet.ServletContainerInitializer的类并调用它们的onStartup()方法,它允许初始化程序动态注册servlet和过滤器。 Spring类SpringServletContainerInitializer就是这样一个类,它依次委托给你自己的初始化程序。

+0

这就是我正在寻找的。谢谢! – grimi

相关问题