我们正在使用 Spring MVC 开始一个新项目,我们希望摆脱注释驱动的请求/url 映射。我们希望实现以下用例:
用例 A
- 用户输入 URL。
- 请求映射处理程序检索映射列表(例如从数据库中),并基于此动态映射列表调用相关控制器。
这是因为我们也希望能够做到以下几点:
用例 B
- 我们希望将新的控制器(可能是新的报告模块)加载到 Web 应用程序中,而无需重新部署或重新启动服务器。
- 我们将把这个新的控制器映射到一个 URL 并将它保存在某个地方(很可能是 DB)。
- 我们希望控制器在 Spring 应用程序上下文中注册(由 Spring 管理)。
- 然后我们想在请求映射中使用这个新的控制器。
我们已经初步了解了实现这一点的不同方式,但我们不确定实现这条路线的最佳架构/方法。几个问题:
- 对于用例 A,我们如何在 Spring MVC 框架中实现它(或者如果可能的话)?
- 对于用例 B,是否有一个好的框架或方法可以为 Web 应用程序动态加载和注册它?我们对 OSGI 进行了粗略的了解,但似乎建议在非 Web 应用程序中使用它。