上下文:组件扫描需要2分钟以上才能完成

时间:2013-05-21 13:21:42

标签: spring spring-mvc

我是新手。我尝试使用上下文:组件扫描来扫描我的包,如

<context:component-scan base-package="org.example">

然而,这似乎非常耗时,需要2分钟以上。有没有办法改善其表现

3 个答案:

答案 0 :(得分:3)

如果你有很多课程,那么花很长时间是正常的。您很可能还会扫描一些不应扫描的类。您可以通过仅扫描所需的包来优化它。例如,如果你有注释的控制器,你只能扫描包含它们的包。 <context:component-scan base-package="org.example.web.controller">

答案 1 :(得分:3)

您还可以使用<context:include-filter />元素中的<context:exclude-filter /><context:component-scan />元素来进一步限制扫描范围。

答案 2 :(得分:0)

您是否正在使用Spring MVC构建应用程序?

大多数开发人员错误地通过在application-context和* -dispatcher-servlet.xml中扫描相同的东西来加载bean两次。

考虑到加载,在web.xml中,您必须使用contextloaderlistener加载一个上下文并声明一个SpringDispatcher servlet。

只需确保您只在* -servlet.xml文件中加载控制器bean。

您的服务器层(服务和dao类)应该从您通过contextloaderlistener加载的文件中加载。

与Jukka提到的一样,您可以通过在application-context.xml中对@Controller注释使用排除过滤器来避免这种情况