1.pom.xm添加依赖

<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>

2.配置文件.xml

<!-- 校验参数 -->
<bean id="commonProvider.messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:message/message</value>
<value>classpath:org/hibernate/validator/ValidationMessages</value>
</list>
</property>
<!--默认为false,这样当Spring在ResourceBundle中找不到messageKey的话,就抛出NoSuchMessageException, 把它设置为True,则找不到不会抛出异常,而是使用messageKey作为返回值。-->
<property name="useCodeAsDefaultMessage" value="false"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="cacheSeconds" value="600"/>
</bean> <bean id="commonProvider.validatorFactory" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
<property name="validationMessageSource" ref="commonProvider.messageSource"/>
</bean> <bean id="commonProvider.validator" factory-bean="commonProvider.validatorFactory" factory-method="getValidator"/>
<!-- 参数校验 -->
<bean id="commonProvider.paramCheckLogic" class="com.jd.m.cms.bjshare.common.handler.logic.ParamCheckLogic">
<property name="messageSource" ref="commonProvider.messageSource" />
<property name="validator" ref="commonProvider.validator" />
</bean>

3.对象.java

public class test {
@NotNull(message = "测试id不能为空", groups = { First.class })
private String id;
@NotNull(message = "测试name不能为空", groups = { Second.class })
private String name; public String getId() {
return id;
} public void setId(String id) {
this.id = id;
}
public test(){} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public test(String id, String name) {
this.id = id;
this.name = name;
}
public interface First { }
public interface Second { }

4.调用

1).
public <T> T checkObjParamValidate(@NotNull T t, Class<?>... groups) {
2).
.checkObjParamValidate(test,com.jd.bjshare.domain.test.First.class,com.jd.bjshare.domain.test.Second.class);
3).
validator.validate(t, groups);

5.页面返回结果

{"code":1,"msg":"测试id不能为空,测试name不能为空","data":{}}

最新文章

  1. div 纯数字很长时无法折行解决
  2. android 编译代码注意事项
  3. centos7精简版(minimal)killall: command not found
  4. iOS - OC Enum 枚举
  5. A SQLite client library written in Modern C++
  6. [转]c#调用API截图
  7. UVALive 7456 Least Crucial Node (并查集)
  8. 自己写的一个android小应用 手电筒
  9. 自己动手为PHP7添加新的语法特性
  10. SQL查询中用到的函数
  11. Maven的安装步骤
  12. 前端CSS学习-Background背景相关
  13. 谈谈java做登录那些事(一 分析)
  14. oldboy es和logstash
  15. [转][C#]加密解密类
  16. 用UIBezierPath数组对UIView进行镂空处理
  17. 深入理解Linux内核-访问文件
  18. P1516/bzoj1477 青蛙的约会
  19. 使用rz,sz需要安装lrzsz
  20. linux查看磁盘占用常用的两个命令

热门文章

  1. Centos7 redis 5.0 服务设置、启动、停止、开机启动
  2. Spring学习笔记:声明式事务管理增删改查业务
  3. Redis实现主从复制(Master&amp;Slave)
  4. 模拟Springboot一:(零xml配置搭建SSM项目)
  5. Spring_Spring与IoC_基于XML的DI
  6. jQuery多次选中checkbox失效
  7. ueditor PHP版本使用方法
  8. spring下应用@Resource, @Autowired 和 @Inject注解进行依赖注入的差异
  9. JS实现九九乘法表和时间问候语
  10. 【转】C# GDAL 配置