gpt4 book ai didi

java - 如何实现自定义 ConstraintValidatorFactory 以便在自定义 validator 中使用 @Autowiring

转载 作者:行者123 更新时间:2023-12-01 06:09:27 25 4
gpt4 key购买 nike

我正在浏览 Hibernate 文档,并发现了这篇文章,以在自定义 validator 中启用 Autowiring 。

https://docs.jboss.org/hibernate/validator/5.1/reference/en-US/html/chapter-bootstrapping.html#example-using-custom-constraint-validator-factory

但是我不明白getInstance和release方法的实现。

基本上我不确定我应该在其中写什么。

有人可以给我指出正确的方向吗?

最佳答案

查看这两种方法的文档:

public interface ConstraintValidatorFactory {

/**
* @param key The class of the constraint validator to instantiate.
*
* @return A new constraint validator instance of the specified class.
*/
<T extends ConstraintValidator<?,?>> T getInstance(Class<T> key);

/**
* Signal ConstraintValidatorFactory that the instance is no longer
* being used by the Bean Validation provider
*
* @param instance validator being released
*/
void releaseInstance(ConstraintValidator<?,?> instance);
}

那么应该清楚,第一个应该返回 ConstraintValidator 的新实例,而另一个应该执行清理所需的任何操作。然后由您决定如何实现它们。这个link有一个如何使用 BeanManagerProvider 实现 getInstance 的示例,但您也可以有一个非常简单的实现,使用 if 语句,然后调用类似 new MyConstraintValidator...releaseInstance 的实现取决于实例不再使用时您是否需要执行任何操作。

关于java - 如何实现自定义 ConstraintValidatorFactory 以便在自定义 validator 中使用 @Autowiring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37974158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com