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;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Springboot项目javax.validation使用方法详解
javax.validation 是基于JSR-303标准开发出来的,使用注解方式实现,及其方便,但是这只是一个接口,没有具体实现. Hibernate-Validator是一个hibernate独立的包,可以直接引用,他实现了javax.validation同时有做了扩展,比较强大.SpringBoot在内部集成了hibernate-validation,可以直接使用. 常用注解: 代码 说明 @Null 被注解的元素必须为null @NotNull 被注解的元素必须不为null @Asser
-
@NotEmpty、@NotBlank、@NotNull的区别
在网上搜索的内容,大致如下: 验证框中@NotEmpty.@NotBlank.@NotNull乍一看还是容易弄混的.主要使用情况记录一下: @NotEmpty 用在集合类上面 @NotBlank 用在String上面 @NotNull 用在基本类型上 只有简单的结果,但是再更具体一点的内容就搜不到了,所以去看了看源码,发现了如下的注释: 1. @NotEmpty 复制代码 代码如下: /** * Asserts that the annotated string, collection,
-
如何解决@NotBlank不生效的问题
解决@NotBlank不生效 在项目开发中,发现一个类中包含有另外一个类,这种包含关系的类上的@NotBlank校验不生效,后来发现需要在内部的类的域上加上@Valid注解,如下: /** * 标签体系ID */ @NotBlank(message = "00000002") @Length(max = 20, message = "00000005") private String systemId; /** * 条件模板id */ private String
-
一次踩坑记录 @valid注解不生效 排查过程
一.背景 在进行一次Controller层单测时,方法参数违反Validation约束,发现却没有抛出预期的[违反约束]异常. 方法参数上的@Valid注解不生效?? 但是以Tomcatweb容器方式启动,请求该API,@Valid注解却生效了,甚是怪异. 代码如下: @RestController @RequestMapping("/api/user/") public class UserController @RequestMapping(value = ""
-
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,
随机推荐
- Xml简介_动力节点Java学院整理
- XML指南——XML数据岛
- 关于数据库连接池Druid使用说明
- Android互联网访问图片并在客户端显示的方法
- javascript 浏览器类型和版本号检测代码(兼容多浏览器)
- 动态统计当前输入内容的字节、字符数的实例详解
- asp.net 长文章通过设定的行数分页
- thinkphp3.2嵌入百度编辑器ueditor的实例代码
- ASP调用SQL SERVER存储程序
- linux下 root 登录 MySQL 报错的问题
- JavaScript限定复选框的选择个数示例代码
- Android 高仿微信支付数字键盘功能
- C#中的ICustomFormatter及IFormatProvider接口用法揭秘
- java图片格式转换的三段代码
- 十天学会php(1)
- 详解C++设计模式编程中策略模式的优缺点及实现
- C语言实现时区转换函数的实例
- Android自定义可点击的ImageSpan并在TextView中内置View
- python在线编译器的简单原理及简单实现代码
- Asp.NET Core 如何调用WebService的方法