基于spring的validation及hibernate validation
特点:
1、支持spring注入(没找到hibernate validation如何注入)
2、自定义注解验证(虽然hibernate validation也支持)
3、写了一个验证码校验,和验证引用的DIY注解(指向)
使用例子:
User entity
package org.kilobug.news.entity; import javax.validation.constraints.Min; import lombok.Data; import org.hibernate.validator.constraints.Email; import org.hibernate.validator.constraints.Length; @Data public class User { private Long id; @Min(0) private Long roleId = 0L; @Email private String email; @Min(0) private Long mobile = 0L; private byte[] password; @Length(min=6, max=32) private String plainPassword; private byte[] salt; private String plainSalt; private Long creationTime; private Long creationIp; private Long lastLoginTime = 0L; private Long lastLoginIp = 0L; private Long statusId = 0L; }
UserAdd entity
package org.kilobug.news.service.entity; import lombok.Data; import org.hibernate.validator.constraints.NotBlank; import org.kilobug.news.entity.User; import org.kilobug.validator.constrains.BaseValidate; import org.kilobug.validator.constrains.Captcha; public @Data class UserAdd { @BaseValidate(value=User.class) // 根据User的email字段的规则验证 private String email; @BaseValidate(value=User.class) // 根据User的plainPassword字段的规则验证 private String plainPassword; @NotBlank @Captcha // 自定义注解验证器,支持注入 private String captcha; }
使用:
package org.kilobug.news.validator; import org.kilobug.news.entity.User; import org.kilobug.news.service.entity.UserAdd; import org.kilobug.validator.ValidatorUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.validation.Errors; import org.springframework.validation.Validator; @Component public class UserAddValidator implements Validator { @Autowired private ValidatorUtil validator; @Override public boolean supports(Class<?> clazz) { return UserAdd.class.equals(clazz); } @Override public void validate(Object target, Errors errors) { if(validator.vaildate(target, errors) == false) return; UserAdd entity = (UserAdd) target; // :TODO 进一步自定义判断 } }
相关推荐
java 自定义注解验证 可自己添加所需要的注解,本案例中只写了三个自定义注解类 本案例只花了半天时间,如有不好之处请多提提意见。谢谢!
自定义注解,与注解解释器,并且实例化使用注解的类
token工具,集成了token校验和注解方式token放行策略,解压后直接将java文件放到项目中,引入一下maven就可以用了,亲测可用,如果有问题欢迎留言评论或者私信,可以帮忙解决问题
java 元注解+拦截器实现自定义注解 @CmwAutoWired:自定义依赖注入 注意:注入的接口和实现类需要在同一包名下,注解的是类则无限制 @FieldAnnotation:自定义属性注解 @MethodAnnotation:自定义方法注解 @...
Java注解Annotation用起来很方便,也越来越流行,由于其简单、简练且易于使用等特点,很多开发工具都提供了注解功能,不好的地方就是代码入侵比较严重,所以使用的时候要有一定的选择性。 这篇文章将利用注解,来做...
基于MyBatis注解的学生管理程序-ssm彻底掌握的练手项目 1.包含项目所有需要的离线jar junit-4.7 log4j-1.2.16 mybatis-3.2.2-sources mybatis-3.3.0 mysql-connector-java-5.1.0-bin mysql-connector-java-8.0.26 2....
Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解
springmvc注解式控制器的数据验证、类型转换及格式化 SpringMVC数据验证 参数传递
该例子为struts2注解与拦截器demo,利用myEclipse8.5开发,导入刚才后,自动加载所需struts2的jar包,可以直接运行,是初学struts2注解、拦截器很好的例子,保证10分钟学会2种技术,愿意分享给大家。
Servlet3.0使用注解标注过滤器 Servlet3.0使用注解标注过滤器
SpringBoot+SpringSecurity+JWT+MybatisPlus实现基于注解的权限验证,可根据注解的格式不同,做到角色权限控制,角色加资源权限控制等,粒度比较细化。 @PreAuthorize("hasAnyRole('ADMIN','USER')"):具有admin或...
表单验证框架,支持对 activity/Fragment 内的 TextView/EditText 进行规则验证 compile 'com.github.LongMaoC:validateui:v2.3' 部分效果图(demo在根目录下 ./apk/demo.apk) 更新内容 20171010 : 新增输入监听...
java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解...
java注解和反射的个人学习笔记
使用注解导入导出各类多表头,单表头,及各种导入数据验证(含非空,字符长度,数据包含与排他,正则验证及自定义验证(使用数据库操作)等)的i简单工具类
通过注解+反射实现自定义验证 工具,可扩展业务校验,一个字段可进行多种校验,如:字段A需要大于字段B并且字段B需要大于字段C并且.....XXX。附使用文档以及源码
springmvc注解验证例子,对于刚学的开发者,很容易入手
自定义注解和通过反射获取注解
资源是springMVC注解和非注解两个版本
JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术