봄 3.0.2, 최대 절전 모드 3.5.0, 최대 절전 모드 - 검사기 4.0.2.GAJSR-303 의존성 주입 및 최대 절전 모드
내가 사용 ConstraintValidator에 봄 종속성을 주입하는 것을 시도하고있다 :
@PersistenceContext
private EntityManager entityManager;
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
어느, 봄의 설명서에 따라, 허용해야 "CU :
내가 가진 애플리케이션 컨텍스트를 구성 다른 Spring 빈처럼 의존성 주입의 혜택을 누리려는 ConstraintValidators "
디버거 내에서 getBean을 호출하여 ConstraintValidator를 만들 수 있습니다. 나중에 플러시가 preInsert를 트리거하면 다른 ConstraintValidator가 만들어져 호출됩니다. 문제는이 새로운 ConstraintValidator 내에서 EntityManager가 null이라는 것입니다. ConstraintValidator 내에서 다른 종속성을 주입하려고 시도했지만 항상 null입니다.
누구든지 ConstraintValidator에 종속성을 주입 할 수 있는지 알고 있습니까?
'<검증 모드> NONE 검증 모드가>'트릭을 수행합니다. 또한 사용자는 유효성 검사기를 수동으로 호출 할 필요가 없습니다. Spring은 유효성 검사를 Hibernate Validator로 전달한다. Hibernate Validator 4.1에서는 갑자기 모든 엔티티가 두 번 검증되었다는 문제점이있었습니다. 한 번 봄 (autowiring와 더불어) 그리고 한 번 HV를 통해서 (실패, autowired 때문에). 그러나 그것은 Hibernate Validator 4.0과 함께 작동했습니다. – Koraktor
뿐만 아니라 "javax.persistence.validation.mode"를 "none"으로 설정하십시오. – Matt