服务层的弹簧@Validated
海杰,
我想在执行如下方法之前使用注释来验证参数:@Validated(group=Foo.class)
public void doFoo(Foo @Validated(groups=Foo.class) foo){}
当我将此方法放在Spring应用程序的控制器中时,将执行并在Foo对象无效时引发错误。但是,如果我在应用程序的服务层的方法中放置相同的内容,则不会执行验证,并且即使 Foo 对象无效,该方法也只是运行。@Validated
您不能在服务图层中使用注记吗?还是我必须做一些额外的配置才能使其工作?@Validated
更新:
我已将以下两个bean添加到我的服务中.xml:
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
<bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor"/>
并替换为如下所示:@Validate
@Null
public void doFoo(Foo @Null(groups=Foo.class) foo){}
我知道这是一个非常愚蠢的注释,但我想检查一下,如果我现在调用该方法并传递null,它会引发一个违反异常。那么为什么它执行注释而不是注释呢?我知道一个来自春天,另一个来自春天,但我认为这与它没有任何关系?@Null
@Validate
javax.validation