如何将Spring bean注入Validator(hibernate)
春季文档
我已阅读以下春季文档:
默认情况下,LocalValidatorFactoryBean配置使用Spring创建ConstraintValidator实例的SpringConstraintValidatorFactory。 这允许您的自定义ConstraintValidators像任何其他Spring bean一样受益于依赖注入。
我写了自定义验证器:
public class FieldMatchValidator implements ConstraintValidator<FieldMatch, Object>{
@Autowired
MyBeanDao dao;
...
}
但在调试中,我看到dao为空。
请解释我不明白文档或我错误配置的东西?
使用Spring Validator,它也实现了Bean Validation API。
请参阅7.8.2配置Bean验证提供程序:
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html
您也可以将其用于方法验证,请参阅上述文档中的“Spring驱动的方法验证”一节。
[UPDATE1]
如果你想让hibernate验证持久性,你需要在你的enityManagerFactory中设置jpa属性javax.persistence.validation.factory:
<property name="jpaPropertyMap">
<map>
<entry key="javax.persistence.validation.factory" value-ref="validatorFactory" />
</map>
</property>
您可能还需要为事件设置验证组,请参阅:http://docs.jboss.org/hibernate/validator/4.1/reference/en-US/html/validator-checkconstraints.html#validator-checkconstraints-orm-hibernateevent
链接地址: http://www.djcxy.com/p/82027.html上一篇: How to inject spring bean into Validator(hibernate)
下一篇: Hibernate EntityManager, is it supposed to be used as a singleton?