【问题标题】:Disable spring bean validation禁用spring bean验证
【发布时间】:2013-08-28 14:10:12
【问题描述】:

我们使用的是spring core + struts(没有spring MVC)

另外,我们正在使用带有休眠验证器功能的 spring bean 验证器来实现按合约模式设计。

如您所知,部署应用程序时必须关闭这些验证。

怎么可能关闭spring验证是applicationContext.xml?

【问题讨论】:

  • 部署时为什么需要关闭验证?
  • 合约设计模式用于在开发过程中验证方法调用和返回值,该模式用于在开发阶段简化错误修复。

标签: spring validation hibernate-validator


【解决方案1】:

Spring 中的方法验证通过配置MethodValidationPostProcessor 来启用。如果您想在某些情况下关闭方法验证,您需要确保没有配置这样的处理器,例如通过在这种情况下不活动的 bean 配置文件对其进行配置。

虽然方法验证不打算仅在开发期间使用,但我建议在生产中也启用它。

【讨论】:

  • 此模式用于最大限度地减少开发错误和错误。请查看en.wikipedia.org/wiki/Design_by_contract“性能影响”
  • 当然,任何验证都不是免费的,但我认为在数据库访问是限制因素的典型业务应用程序中,成本可以忽略不计。假设您禁用方法验证并接收到用户或另一个应用程序模块的开发人员传递的无效数据,您会怎么做?顺便提一句。如果您在 Hibernate Validator 中发现(方法)验证有任何性能问题,请在我们的 JIRA 中create a ticket 处理。我们一直在努力提高性能。
猜你喜欢
  • 2018-04-19
  • 1970-01-01
  • 2016-03-02
  • 2015-05-01
  • 1970-01-01
  • 2013-11-23
  • 2020-12-21
  • 2019-05-23
  • 2015-01-06
相关资源
最近更新 更多