1

我是弹簧新手。我尝试使用 context:component-scan 来扫描我的包,例如

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

然而,这似乎非常耗时,需要超过 2 分钟。有没有办法提高它的性能

4

3 回答 3

3

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

于 2013-05-21T13:42:21.813 回答
3

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

于 2013-05-30T20:00:57.840 回答
0

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

大多数开发人员通过扫描 application-context 和 *-dispatcher-servlet.xml 中的相同内容而犯了两次加载 bean 的错误。

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

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

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

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

于 2013-06-01T09:16:28.420 回答