我是弹簧新手。我尝试使用 context:component-scan 来扫描我的包,例如
<context:component-scan base-package="org.example">
然而,这似乎非常耗时,需要超过 2 分钟。有没有办法提高它的性能
我是弹簧新手。我尝试使用 context:component-scan 来扫描我的包,例如
<context:component-scan base-package="org.example">
然而,这似乎非常耗时,需要超过 2 分钟。有没有办法提高它的性能
如果你有很多课,花那么长时间是很正常的。很可能您还扫描了一些不应扫描的类。你可以通过只扫描你需要的包来优化它。例如,如果您有带注释的控制器,则只能扫描包含它们的包。 <context:component-scan base-package="org.example.web.controller">
.
您还可以使用元素内的<context:include-filter />
和元素来进一步限制扫描范围。<context:exclude-filter />
<context:component-scan />
您是否正在使用 Spring MVC 构建应用程序?
大多数开发人员通过扫描 application-context 和 *-dispatcher-servlet.xml 中的相同内容而犯了两次加载 bean 的错误。
我正在考虑加载,在您的 web.xml 中,您必须使用 contextloaderlistener 加载了一个上下文并声明了一个 SpringDispatcher servlet。
只需确保只在 *-servlet.xml 文件中加载控制器 bean。
您的服务器层(服务和 dao 类)应该从您通过 contextloaderlistener 加载的文件中加载。
就像 Jukka 提到的那样,您可以通过在 application-context.xml 中的 @Controller 注释上使用排除过滤器来避免这种情况