2011-03-22 45 views

回答

1

我已经通过这种方法实现了插件类的系统与Spring:

  • 每个插件都必须包含一个特定的名称和包前缀(弹簧上下文文件例如,COM .example.myApp.whatever包含plugin.xml或applicationContext.xml(如果您愿意的话)。

  • 对于要在类路径中检测到的插件,宿主应用程序应该动态地导入遵循previos方案的任何jar贡献的所有上下文文件。这与基于通配符导入在弹簧配置实现:

    <import resource="classpath*:/com/example/myApp/**/plugin.xml" /> 
    
  • 规定,每个插件限定了公知的接口(例如,MyInterface的)的豆类。主机应用程序可以定义List <MyInterface>类型的属性,并将该bean定义为autowire =“byType”,以便检索列表中的所有MyInterfaceType Bean。