Spring MVC和动态模块部署

时间:2012-06-04 09:09:19

标签: spring model-view-controller java-ee osgi spring-dm

我完成了一个新的MVC Web应用程序,我的老板让我为新的客户创建一个新版本。相同的Web应用程序但不同的CSS和两个新模块(对于模块,我指的是用户与DB交互的新页面)。这不是什么大问题而且很容易做,只需在我的Eclipse中复制项目并进行修改即可。两天的工作和项目完成。做得好,都开心但不是我。

我在想wordpress,它可以自定义,只需创建一个新模板和插件并激活它。我想做类似于减少新版本部署和代码维护的somenthing。我的问题是,我怎么能用Spring做类似的事情?或者更好,是否可以创建一个新模块并将其部署到Web应用程序? Spring动态是MVC Spring应用程序的正确选择吗?

感谢,
安德烈

1 个答案:

答案 0 :(得分:0)

我不认为你的方法是正确的。您需要与您的经理讨论这种情况是否可能重演。因为对我来说它看起来可能。

让我们假设一个场景:您有许多应用副本,其中包含一些小的增强或更改。一个月后,一位客户报告了一个非常讨厌的错误,并且必须在每个应用实例中修复。想象一下你的痛苦。

为什么不考虑多租户?

  • 实施白色标签,以便根据客户的要求,您的应用程序可以获得不同的外观;
  • 扩展后端,以便客户永远不会看到彼此的数据
  • 实施可配置功能,以便一位客户看不到您的老板出售给其他客户的扩展功能。当他出售它们时 - 这将是在数据库/配置中切换一些标志的问题。

不想支持多租户或者产品是否物理部署在不同的(客户)服务器上?没关系!如果发现错误,请修复一次并将jar文件重新部署到所有受影响的系统。

当然,上述工作不是两天,但是这种方法可以节省更多。

至于你的问题,Spring允许你通过可变的样式和布局来定制它的外观。我建议你用Spring Roo创建一个示例Web应用程序,看看它是如何完成的。但是,如果我是你,我仍然希望在项目之间至少有一个共享的代码库。