我正在使用 Spring 的组件扫描在我的应用程序中查找 bean。
<context:component-scan base-package="com.myapp"/>
然而,当应用程序部署在我们的暂存服务器(部署了很多应用程序的 JBoss 5)时,性能比开发(也是 JBoss 5,但应用程序很少)慢得多。组件扫描耗时较长。我怀疑这是由于更大的类路径造成的?
有没有一种简单的方法可以让 Spring 只在我的 war 文件中查找 bean?即 WEB-INF/classes 和 WEB-INF/lib?或者有其他解决方案吗?
最佳答案
两个提示;
- 尽量使基本包尽可能具体:您可以在基本包属性中提供多个包,以逗号分隔。
- 使用过滤器;检查文档 here . - 您可以指定要扫描的注释(例如,如果您只使用@Component),您还可以指定类名必须匹配的正则表达式。
关于java - 如何将 Spring 组件扫描限制为仅在我的 war 中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6382084/