java web高级编程 百度网盘_[有书共读]JavaWeb高级编程

JavaWeb高级编程 -- 篇13

@Bean public LocalValidatorFactoryBean localValidatorFactoryBean()

{

LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();

validator.setProviderClass(HibernateValidator.class);

return validator;

}

Spring Framework使用了bean后处理器的概念,通过它可以在容器完成启动过程之前配置、自定义和替换配置中的bean。已配置的org.springframework.beans.factory.config.Bean-PostProcessor实现将在bean被注入到依赖它的其他bean之前执行。

你随时可以创建自己的约束注解,但Bean Validation API中已经提供了几个内建的注解,它们可以满足大多数常见的验证需求。所有这些约束都在javax.validation.constraints包中。

将限制注解用于方法验证时,必须总是标注在接口上,而不是实现上。

如果希望指定应该在方法执行时应用的验证组,可以在类上使用@javax.validation.GroupSequence和@ValidateOnExecution。另一方面,通过@Validated可以直接在其中指定验证组,而无须使用额外的注解,另外它可以为同一个控制器类中的不同MVC控制器方法参数指定不同的组。

如果只希望验证特定分组中的限制,那么可以在@Validated注解中指定这些分组。

@Validated({Default.class, Group.class})

public interface EmployeeService

{

...

}

在Bean验证中,限制可以继承另一个限制。当然,这与类的继承不同,因为注解是不能继承的。不过,根据惯例,限制注解通常包含一个目标ElementType.ANNOTATION_TYPE。在定位到限制注解时,Validator将决定注解定义上是否标注了任何其他限制。如果是这样,它将把所有的额外限制和原始限制中定义的逻辑合并成一个复合限制。在这种情况下,限制继承了它被标注的所有限制。如果出于某些原因需要创建一个不能被继承的限制,那么只需要在定义中忽略ElementType.ANNOTATION_TYPE即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值