繁体   English   中英

Spring如何在项目中找到他的课程?

[英]How could Spring find his classes in a project?

也许这将是一个琐碎且毫无意义的问题,但是作为Spring的新手,我总是对自己问:“ Spring如何在扩展其类的项目中使用类?”

例如AbstractAnnotationConfigDispatcherServletInitializer

public class Initializer extends AbstractAnnotationConfigDispatcherServletInitializer 
{

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

    }

}

我的Initializer类是在带有非特殊名称的手工包中声明的,所以我想知道:Spring怎么能找到并实例化我的Initializer类? 它是否对我的项目进行了某种形式的“程序包扫描”,以尝试获取所有扩展自己的类,或者进行某些操作?

Servlet容器在部署时扫描webapp的类。 这样一来,它就可以将使用@WebServlet注释的类自动注册为servlet,将使用@WebFilter注释的类自动注册为servlet过滤器,等等。

它还允许是否查找实现javax.servlet.ServletContainerInitializer的类,并调用其onStartup()方法,该方法允许初始化程序动态注册servlet和过滤器。 Spring类SpringServletContainerInitializer就是这样的一个类,该类又委托给您自己的Initializer。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM