gpt4 book ai didi

java - 是否可以在编译时以外的运行时进行验证检查?

转载 作者:行者123 更新时间:2023-12-02 11:00:58 25 4
gpt4 key购买 nike

使用以下 Java 代码:

public class Bean{
private String value;
public Bean(@NonNull String value) {
//Usually fail-fast validation can be added here if it is needed
this.value = value;
}
public String getValue() {return this.value;}

}

是否可以通过 注释@NonNull 来检查构造函数参数 < em>运行时除了编译时?就我个人而言,我仍然没有找到任何可以在运行时进行验证检查的检查器框架。但是,是否可以实现注释处理器来执行运行时检查?

最佳答案

您应该查看 javax.validation.constraints 中的 @NotNull。我在模型中使用它,当我尝试使用 null @NotNull 值保存模型时,它会引发 Constraint 异常。

导入是import javax.validation.constraints.NotNull;

如果你使用Spring和mongodb,你必须配置它才能工作,我在互联网上找到了一段代码(不记得在哪里),你可以使用它:

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.core.mapping.event.ValidatingMongoEventListener;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;

@Configuration
public class CustomRepositoryRestConfigurerAdapter {
@Bean
public LocalValidatorFactoryBean localValidatorFactoryBean() {
return new LocalValidatorFactoryBean();
}

@Bean
public ValidatingMongoEventListener validatingMongoEventListener(
@Qualifier("localValidatorFactoryBean") LocalValidatorFactoryBean lfb
) {
return new ValidatingMongoEventListener(lfb);
}
}

关于java - 是否可以在编译时以外的运行时进行验证检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51327074/

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