component-scan classpath子目录(a'la plugins + annotation)

时间:2013-05-30 22:56:11

标签: java spring web-applications plugins configuration

目标:

  • 列表项
  • 我有一个spring webapp项目,它通过maven子模块使用组件扫描进行配置和自动装配接口实现
  • 主项目依赖于其他模块,因此子模块的jar放在/ WEB-INF / lib文件夹中
  • 子模块(又名插件)具有公共包父名x.y.z.extension例如。 x.y.z.extension.pluginA
  • 此包中的类使用@Component或@Configuration
  • 进行注释
  • 在servlet xml配置中我已经放置了这样的组件扫描信息:

代码:

<context:spring-configured />
<context:component-scan base-package="x.y.z.extension" />

使用上述配置,一切正常。

我想要实现的目标:

  • 列表项
  • 删除主要webapp maven模块和其他模块的依赖关系 - 核心webapp将在没有插件的情况下发布
  • 创建子文件夹,例如类路径类中的“WEB-INF / classes / plugins”dir
  • 将子模块中提到的jar放入其中(或将jar内容解压缩到例如WEB-INF / classes / plugins / pluginA) - 这可以在安装新插件后重新启动webapp的“插件安装”中完成
  • spring会自动检测带注释的类并将其加载到应用程序上下文中(并且在插件jar中不使用带注释的类(带注释的类主要是接口实现,但它们在jar中使用了一些未注释的类))。

和...当然这不起作用找不到类。

如果有可能仅使用春季生态系统实现这一目标,或者我应该查看其他示例,例如: jspf? 如何使用spring修改类路径扫描并保持自动组件扫描?

谢谢!

0 个答案:

没有答案