【问题标题】:Load only required services spring framework仅加载所需的服务 spring 框架
【发布时间】:2015-06-26 23:50:43
【问题描述】:

我正在寻找一种方法来创建应用程序的免费版本和付费版本。我想知道 spring 是否具有对服务进行分组/标记的功能,以便我可以在服务之间切换,即对免费用户没有多大作用的服务和对付费用户的实际服务。

这是正确的方法吗?或者是否有另一个框架可以让我做到这一点并且可以很好地与 spring 配合使用?

有没有办法在前端做同样的事情,即根据用户类型显示或隐藏功能/图标?

-- 已编辑--

该项目是一个多模块 maven 项目,包含一个 war 模块和 3 个 jars,它使用 Spring 框架和 spring security(没什么花哨的)和 angularjs。

要求是我应该能够根据不同的配置构建war文件。例如,假设客户不想要特定功能,我应该能够通过更改一些配置来关闭它。因此用户将不会再看到该特定功能。

可以吗?

【问题讨论】:

    标签: java spring spring-mvc web-applications


    【解决方案1】:

    我的建议是在您的代码中进行许可。它的很多 更灵活,实施起来也不难!并且更易于维护....

    【讨论】:

      【解决方案2】:

      您可以使用bean definition profiles 来根据启动参数使用不同的 bean 实现,但这需要您负责用于启动应用程序的启动参数(即,对于以下应用程序来说,这不是一个合适的解决方案)由客户在自己的机器上下载和运行;然后启动配置文件设置可能会被黑客入侵)。

      可能需要有关预期应用程序架构的更多信息,以便在此处提供好的建议。

      【讨论】:

      • 听起来您需要为不同的客户端构建完全不同的二进制文件,在这种情况下,您需要使用 maven 来获取正确的内容。如果您将服务的不同实现分成不同的 maven 模块,您可以在您的 war 项目中使用 maven 配置文件来确定特定构建类型依赖哪个子模块。
      • 我现在也在做同样的事情。我想知道是否有更好的方法。
      • 好吧,bean 定义配置文件在技术上可以满足您的需求,这将使您能够使用配置/启动参数打开/关闭功能,但只要所有内容实际上都包含在二进制文件中,就没有什么可做的了阻止任何下载二进制文件的人弄清楚如何以任何他们想要的方式配置系统。如果这不是问题,我会使用 bean 定义配置文件;否则你只需要在二进制文件中包含他们可以使用的东西,或者设计一些许可方案来防止基于提供的许可的无效配置。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      • 2015-11-26
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多