【发布时间】:2016-07-27 15:43:10
【问题描述】:
我的问题如下:
是否可以忽略 HibernateValidator 的 XML 配置,即在 SpringBoot 应用程序中排除validation.xml 解析?
我的应用程序中不需要validation.xml,但我看到当应用程序启动时,它会尝试解析这个文件。 我在 Hibernate Validator 文档 (https://docs.jboss.org/hibernate/validator/4.1/reference/en-US/html/validator-xmlconfiguration.html) 中找到了这个:
甚至可以通过 Configuration.ignoreXmlConfiguration() 完全忽略 XML 配置。
我看到的是,在 LocalValidatorFactoryBean.afterPropertiesSet() 方法中,为验证器创建了配置。此 bean 有一个名为 postProcessConfiguration(Configuration configuration) 的方法,该方法在根据配置构建 validatorFactory 之前调用。 这似乎是调用 ignoreXmlConfiguration() 方法的理想位置,文档建议这样做。
我尝试扩展这个LocalValidatorFactoryBean,这样我就可以在上面提到的方法中实现这个调用。然后我尝试通过java配置类加载这个bean。
不幸的是,一些引导机制已经使用了 Spring 提供的 bean,在它找到我的之前,两个 bean 同时运行。我看到消息说我创建的 bean 忽略了 XML 配置,但是,这个解决方案没有帮助,因为 Spring 提供的 bean 没有被我的替换。
我还尝试查找是否有任何我可以使用的应用程序属性,或者排除一些自动配置,但没有运气。
有什么想法吗? :)
更新: 我尝试排除 HibernateJPAAutoConfiguration,但没有帮助。
【问题讨论】:
标签: java spring-boot hibernate-validator