相关疑难解决方法(0)

使用自动弹簧服务测试自定义验证器

我的实体有一个自定义的Hibernate验证器.我的一个验证器使用Autowired Spring @Repository.应用程序正常工作,我的存储库在我的验证器上成功自动装配.

问题是我找不到测试验证器的方法,因为我无法在其中注入我的存储库.

Person.class:

@Entity
@Table(schema = "dbo", name = "Person")
@PersonNameMustBeUnique
public class Person {

    @Id
    @GeneratedValue
    @Column(name = "id", unique = true, nullable = false)
    private Integer id;

    @Column()
    @NotBlank()
    private String name;

    //getters and setters
    //...
}
Run Code Online (Sandbox Code Playgroud)

PersonNameMustBeUnique.class

@Target({ TYPE, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = { PersonNameMustBeUniqueValidator.class })
@Documented
public @interface PersonNameMustBeUnique{
    String message() default "";

    Class<?>[] groups() default {};

    Class<? extends javax.validation.Payload>[] payload() default {};
}
Run Code Online (Sandbox Code Playgroud)

验证者:

public class PersonNameMustBeUniqueValidatorimplements ConstraintValidator<PersonNameMustBeUnique, Person> {

    @Autowired
    private …
Run Code Online (Sandbox Code Playgroud)

testing validation spring hibernate-validator

7
推荐指数
3
解决办法
1万
查看次数

标签 统计

hibernate-validator ×1

spring ×1

testing ×1

validation ×1