我正在启动一个基于 OSGI Spring DM 的 Swing 应用程序。该应用程序应该在加载包时启动并显示。我知道这可以通过 manifest.mf 文件配置的激活器类来实现。
我的问题:我如何使用 Spring 将 bean 引用/服务注入(inject)到这个激活器类中,因为激活器没有在 Spring 上下文中配置?
我不应该使用 OSGI 激活器吗? Spring 如何在 bundle start 上启动应用程序?
感谢任何类型的评论,因为我是使用 Spring DM 的 OSGI 新手。
干杯,斯文
最佳答案
您不需要激活剂。 Spring-DM 有一个“扩展器”bundle,它会自动扫描你的 bundle 来做两件事:
- 包的
META-INF/spring
文件夹中的一个或多个 .xml 文件; - 您的 MANIFEST.MF 中的一个
Spring-Context
header ,它指向一个或多个 .xml 文件,这些文件可能位于您的包中的任何位置。
如果它找到其中任何一个(并且如果您的包处于 ACTIVE 状态),那么它将使用声明的 XML 文件加载 Spring 应用程序上下文。
关于java - Swing App 与 Spring DM 启动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5134931/