如何关闭 org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping detectorHandlers ,我将 spring 3 启动置于 Debug模式,并且我看到所有类都调用“detectHandlers”
示例
[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping detectHandlers org.springframework.web.servlet.handler.AbstractDetectingUrlHandlerMapping.detectHandlers(AbstractDetectingUrlHandlerMapping.java:86)] - Rejected bean name 'org.springframework.security.authenticationManager': no URL paths identified
[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping detectHandlers org.springframework.web.servlet.handler.AbstractDetectingUrlHandlerMapping.detectHandlers(AbstractDetectingUrlHandlerMapping.java:86)] - Rejected bean name 'systemProperties': no URL paths identified
[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping detectHandlers org.springframework.web.servlet.handler.AbstractDetectingUrlHandlerMapping.detectHandlers(AbstractDetectingUrlHandlerMapping.java:86)] - Rejected bean name 'systemEnvironment': no URL paths identified
只有我的“ Controller ”类有处理程序,而所有其他类都没有。我正在努力加快 Spring 启动速度。无论如何要关闭每个类的自动检测处理程序功能吗?
最佳答案
不必要的类(class)可以跳过using filters :
<beans>
<context:component-scan base-package="org.example">
<context:exclude-filter type="regex" expression=".*NotControllerBean"/>
</context:component-scan>
</beans>
对我来说最高效、最清晰的解决方案是将 Controller 移至专用包并仅使用此包进行组件扫描。
关于java - 关闭 org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping detectorHandlers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17539393/