# (四)Java Bean Validation 最佳实践

标签(空格分隔): JSR-303


  • Bean Validation(JSR) 是规范,Hibernate validator是实现
  • Bean Validation 1.0(JSR-303)当前实现是Hibernate validator 4,且spring3才支持,主要是对javabean的属性进行校验
  • Bean Validation 1.1(JSR-349)当前实现是Hibernate validator 5,且spring4才支持,可以对方法参数进行校验

可以参考https://my.oschina.net/qjx1208/blog/200946

mvc.xml配置文件中加入

    <bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor"/>

JSR-349使用到了@Validated开启校验,可以加到方法上,参数上或者类上

import javax.validation.Valid;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import com.example.demo.vo.User;

@RestController
@Validated
public class HelloController {


    @PostMapping("/addUser")
    public String addUser(@NotEmpty @Length(min = 5) String username) {


        return username;

    }

}

返回的信息有效需要用到国际化,同时支持el表达式,需要的时候可以了解

Copyright © wu_mingsheng@126.com 2017 all right reserved,powered by Gitbook该文件最后修改时间: 2020-01-19 13:42:27

results matching ""

    No results matching ""