javax NotBlank和Email注解失效的解决
javax NotBlank和Email注解失效
使用javax的NotBlan和Email注解,
结果报类似错误
no validator could be found for constraint 'javax.validation.constraints.notblank'
原来是由于javax只提供了注解的定义,未提供对应的处理器,一般使用hibernate提供的注解处理器。
但是hibernate未提供NotBlank和Email注解的处理器(但是hibernate自己定义的NotBlank和Email注解是有处理器的)
所以在使用NotBlank或Email时,
注意使用hibernate的注解,如下:
hibernate提供的注解处理器如下:
JSR303-@Email注解报错
SpringBoot用到 JSR303 校验邮箱 @Email注解报错
解决方法:
是因为缺少依赖,在pom.xml文件中添加以下依赖即可
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>
记得在校验的属性上面加上对应的注解,同时需要在该类的上方加上@Valiated开启JSR303数据校验的注解,如一下代码:
@Validated //开启jsr303数据校验的注解 public class Student { @Email private String email; private String name; private int age; private boolean sex; private Date birthday; private Map<String, Object> location; private String[] hobbies; private List<String> skills; private Pet pet;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
@NotEmpty、@NotBlank、@NotNull的区别
在网上搜索的内容,大致如下: 验证框中@NotEmpty.@NotBlank.@NotNull乍一看还是容易弄混的.主要使用情况记录一下: @NotEmpty 用在集合类上面 @NotBlank 用在String上面 @NotNull 用在基本类型上 只有简单的结果,但是再更具体一点的内容就搜不到了,所以去看了看源码,发现了如下的注释: 1. @NotEmpty 复制代码 代码如下: /** * Asserts that the annotated string, collection,
-
一次踩坑记录 @valid注解不生效 排查过程
一.背景 在进行一次Controller层单测时,方法参数违反Validation约束,发现却没有抛出预期的[违反约束]异常. 方法参数上的@Valid注解不生效?? 但是以Tomcatweb容器方式启动,请求该API,@Valid注解却生效了,甚是怪异. 代码如下: @RestController @RequestMapping("/api/user/") public class UserController @RequestMapping(value = ""
-
如何解决@NotBlank不生效的问题
解决@NotBlank不生效 在项目开发中,发现一个类中包含有另外一个类,这种包含关系的类上的@NotBlank校验不生效,后来发现需要在内部的类的域上加上@Valid注解,如下: /** * 标签体系ID */ @NotBlank(message = "00000002") @Length(max = 20, message = "00000005") private String systemId; /** * 条件模板id */ private String
-
Springboot项目javax.validation使用方法详解
javax.validation 是基于JSR-303标准开发出来的,使用注解方式实现,及其方便,但是这只是一个接口,没有具体实现. Hibernate-Validator是一个hibernate独立的包,可以直接引用,他实现了javax.validation同时有做了扩展,比较强大.SpringBoot在内部集成了hibernate-validation,可以直接使用. 常用注解: 代码 说明 @Null 被注解的元素必须为null @NotNull 被注解的元素必须不为null @Asser
-
javax NotBlank和Email注解失效的解决
javax NotBlank和Email注解失效 使用javax的NotBlan和Email注解, 结果报类似错误 no validator could be found for constraint 'javax.validation.constraints.notblank' 原来是由于javax只提供了注解的定义,未提供对应的处理器,一般使用hibernate提供的注解处理器. 但是hibernate未提供NotBlank和Email注解的处理器(但是hibernate自己定义的NotBl
-
Java设计模式之代理模式与@Async异步注解失效的解决
目录 JDK动态代理实现自定义异步注解(@Async) SpringAOP实现自定义异步注解 Spring的异步注解@Async失效分析 自定义注解实现方式 JDK动态代理实现自定义异步注解(@Async) 实现思路: 首先自定义一个注解,命名为:ExtAsync 实现一个接口,这个接口的实现类就是被代理类 实现jdk的InvocationHandler接口,根据反射获取目标方法的信息,判断是否有异步注解,如果有则另起一个线程异步执行去. 1.异步注解 @Target({ElementType.
-
SpringBoot调用公共模块的自定义注解失效的解决
目录 调用公共模块的自定义注解失效 项目结构如下 解决方法 SpringBoot注解不生效,踩坑 解决方法 调用公共模块的自定义注解失效 项目结构如下 我在 bi-common 公共模块里定义了一个自定义注解,实现AOP记录日志,bi-batch 项目已引用了 bi-common ,当在 bi-batch 使用注解的时候,没有报错,但是切面却失效. 自定义注解: @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) pub
-
关于Spring注解@Async引发其他注解失效的解决
概述 在前面一篇文章中,介绍,在一个Bean中注入自己,如果有@Async和@Transaction,如果使用@Autowire注入自身,会报循环依赖,如果使用BeanFactoryAware注入自己,会使得@Transaction失效. 例如: @Service public class MyService implements BeanFactoryAware{ private MyService self; //事务注解无效 @Transactional public void notWo
-
Spring AOP注解失效的坑及JDK动态代理
@Transactional @Async等注解不起作用 之前很多人在使用Spring中的@Transactional, @Async等注解时,都多少碰到过注解不起作用的情况. 为什么会出现这些情况呢?因为这些注解的功能实际上都是Spring AOP实现的,而其实现原理是通过代理实现的. JDK动态代理 以一个简单的例子理解一下JDK动态代理的基本原理: //目标类接口 public interface JDKProxyTestService { void run(); } //目标类 publ
-
解决SpringBoot中使用@Async注解失效的问题
错误示例,同一个类中使用异步方法: package com.xqnode.learning.controller; import com.fasterxml.jackson.core.JsonProcessingException; import org.springframework.scheduling.annotation.Async; import org.springframework.web.bind.annotation.GetMapping; import org.springf
-
SpringBoot使用Async注解失效原因分析及解决(spring异步回调)
目录 Async注解失效原因分析及解决(spring异步回调) Spring中@Async 有时候在使用的过程中@Async注解会失效 解决方式一 解决方式二 springboot @Async 失效可能原因 Async注解失效原因分析及解决(spring异步回调) Spring中@Async 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已
-
一次排查@CacheEvict注解失效的经历及解决
目录 排查@CacheEvict注解失效 下面是我通过源码跟踪排查问题的过程 小结一下 说说spring全家桶中@CacheEvict无效情况 举个例子 排查@CacheEvict注解失效 我简单看了一下<Spring实战>中的demo,然后就应用到业务代码中了,本以为如此简单的事情,竟然在代码提交后的1个周,被同事发现.selectByTaskId()方法查出来的数据总是过时的. 代码如下: @Cacheable("taskParamsCache") List<Ta
-
@Transaction,@Async在同一个类中注解失效的原因分析及解决
目录 @Transaction @Async在同一个类中注解失效 下面用伪代码阐述一下原因 说说解决 @Async的实现类方式 方法1:实现接口AsyncConfigurer 方法2:直接注入bean @Transaction @Async在同一个类中注解失效 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的. 比如,下面代码例子中,有两方法,一个有@Async注解,一个没有.第一次如果调用了有注解的test()方法,会启动@Asy
-
Spring @Transactional注解失效解决方案
这篇文章主要介绍了Spring @Transactional注解失效解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 这几天在项目里面发现我使用@Transactional注解事务之后,抛了异常居然不回滚.后来终于找到了原因. 如果你也出现了这种情况,可以从下面开始排查. 一.特性 先来了解一下@Transactional注解事务的特性吧,可以更好排查问题 1.service类标签(一般不建议在接口上)上添加@Transactional,
随机推荐
- JavaScript正则表达式exec/g实现多次循环用法示例
- JSP在win2000下的安装
- 批处理脚本实现提醒下班要打卡
- Android实现定时器的3种方法
- Sample script that deletes a SQL Server database
- python引入导入自定义模块和外部文件的实例
- 浅谈Javascript 数组与字典
- THINKPHP+JS实现缩放图片式截图的实现
- 如何用Jsp读取Mysql数据库
- PHP的伪随机数与真随机数详解
- PHP 创建文件(文件夹)以及目录操作代码
- PHP下常用正则表达式整理
- 使用百度地图api实现根据地址查询经纬度
- 惰性函数定义模式 使用方法第1/3页
- php使用gd2绘制基本图形示例(直线、圆、正方形)
- [注册表]注册DLL控件 让IE浏览器复活
- c#实现windows远程桌面连接程序代码
- 图片懒加载imgLazyLoading.js使用详解
- VBS基础篇 - 条件语句(if与Select Case)
- vue.js实现图书管理功能