1

我有使用 Spring 3.2.18 用 Ja​​va 7 编写的遗留应用程序,它与 Spring-DM 一起在 Karaf 2.4.4 上运行。我计划转向更新版本的 Spring、Java 和 Karaf。

我知道 spring-dm 不受支持,我应该转移到 Blueprint,但我不确定我是否可以像 spring-dm 那样在 Spring 上下文中加载 OSGI bean。Karaf 2.4.4 支持吗?

我不想过多地更改源代码,并且仍然@Autowired按照我现在使用的方式使用。

作为第一步,我计划用蓝图替换 spring-dm,下一步是将 Spring 3 升级到 Spring 4。这是有效的方法吗?

4

1 回答 1

1

Karaf 默认使用 Aries Blueprint,它根本不支持 spring bean,但是您可以使用blueprint-maven-plugin,它从带注释的类创建 blueprint.xml 文件。

但是如果你的代码对 Spring 有很强的依赖,比如 SpringMVC 提供 servlet,你可以使用Gemini Blueprint,它是 Spring-DM 的继承者,支持 Spring 到 4.3.x 版本,但我必须警告你,它可以是让它在 karaf 上工作很棘手,特别是如果你使用 SpringMVC。

于 2017-07-22T20:52:59.663 回答