2013-08-28 176 views
0

我们正在使用弹簧芯+支柱(无弹簧MVC)禁用春天Bean验证

此外,我们使用的Spring bean验证与Hibernate验证功能,为实现合同模式的设计。

如您所知,您在部署应用程序时必须转换这些验证。

如何关闭spring validation是applicationContext.xml?

+0

为什么在部署过程中需要关闭验证? – Gunnar

+0

合同模式设计用于在开发过程中验证方法调用和返回值,该模式用于简化开发阶段的错误修复。 –

回答

0

Spring中的方法验证通过配置MethodValidationPostProcessor来启用。如果您想在某些情况下关闭方法验证,则需要确保没有配置此类处理器,例如,通过在此场景中通过一个不活跃的bean配置文件进行配置。

方法验证不打算只在开发过程中使用,但我建议在生产中启用它。

+0

此模式用于最小化开发错误和错误。请查看http://en.wikipedia.org/wiki/Design_by_contract“性能影响” –

+0

当然,任何验证都不是免费的,但我认为在数据库访问是典型商业应用程序的情况下,代价是可以忽略的限制因素。假设您禁用了方法验证并接收到另一个应用程序模块的用户或开发人员传递的无效数据,那么您会做什么?顺便说一句。如果您发现Hibernate Validator中的(方法)验证有任何性能问题,请在我们的JIRA中为其创建一个票(https://hibernate.atlassian.net/browse/HV)。我们一直在努力提高性能。 – Gunnar