java - 如何将 Spring 组件扫描限制为仅在我的 war 中的文件?

标签 java spring jboss

我正在使用 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/

相关文章:

java - 如何使用java查看两个矩形是否有一个相等的点?

Spring 与 Jboss

java - 解析headers信息并设置到bean中

java - spring mvc 3 与 hibernate (和 hibernate.hbm2ddl.auto)

spring - 在 DAO 中执行 Spring AOP 环绕通知在服务中返回 null

java - Maven 没有在 Bamboo 上正确选择 JAVA_HOME

ssl - jboss 7,HTTPS 和奇怪的编码

java - java 程序中总计未正确打印并显示零

java通过索引+1和-1迭代图像错误模型

java - Java中将字符串拆分为字符串(包含一些特殊字符)和整数