开发经验总结

2024-04-29 12:44
文章标签 经验总结 开发

本文主要是介绍开发经验总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、validation的使用

引入依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>

采用注解校验

实体类的字段采用相关注解修饰,如@NotNull,@Null 

@NotBlank
private String name;

在controller使用@Valid修饰该实体类

分组校验

(1)定义一个标识接口

public interface Add {}

(2)在校验注解指定分组

@Null(groups = Add.class)

(3)使用Validated修饰实体类

@Validated(Add.class)

注意:当使用分组校验时,修饰字段的注解都要加分组,否则其他字段校验不生效,它只会在Validated修饰

 自定义校验注解

(1)编写一个自定义注解

@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = {ShowConstraintValidator.class}//可以指定多个校验器
)
public @interface Show {//默认消息提示,需要在resources目录下新增ValidationMessages.properties配置String message() default "{com.mall.common.valid.Show.message}";Class<?>[] groups() default {};Class<? extends Payload>[] payload() default {};int[] vals() default {};}

(2)在自定义一个校验器

public class ShowConstraintValidator implements ConstraintValidator<Show,Integer> {@Overridepublic void initialize(Show constraintAnnotation) {//初始化参数}@Overridepublic boolean isValid(Integer integer, ConstraintValidatorContext constraintValidatorContext) {//todo 校验逻辑判断return true;}
}

(3)在resources目录增加一个配置文件ValidationMessages.properties

com.mall.common.valid.Show.message=test

这篇关于开发经验总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/946120

相关文章

短视频矩阵系统/源码----可视化剪辑技术独家开发

现阶段市面上大多矩阵软件都非常程序化且需要使用者具有较强的逻辑思维能力或剪辑经验,这使得一些个人、团队、企业在使用时无形中增加了学习成本,剪辑出来的效果大多不尽如人意,发出来的视频没有流量,根本达不到预期效果。 如何提高矩阵做出的效果呢? 抖去推最新推出AI可视化批量剪辑兼具智能易用性等特点,适合同城流量,本地生活,企业产品推广、电商视频带货、自媒体等领域,主打简洁可视化操作,傻瓜式轻

高通QCS6490开发(六):连接使用摄像头

本文将会介绍如何在FV01开发板上连接摄像头和显示预览。 所用硬件有: 1. FV01开发板 2.Raspberry 摄像头 操作步骤如下: 通过FPC线和杜邦线将FV01板和摄像头连接起来,接线如下: 1、Camera设备连接,通过22pin转15pin FPC连接camera,注:FPC线建议在10cm左右,过长会影响信号,有可能无法识别camera 1)找到FV01板上

【Vue开发】基于SSM++jsp的简易版营业厅宽带系统【源码+lw+部署文档+讲解】

目录 目 录 1 绪论 1.1 研究背景 1.2 目的和意义 1.3 论文结构安排 2 相关技术 2.1 SSM框架介绍 2.2 B/S结构介绍  2.3 Mysql数据库介绍 3 系统分析 3.1 系统可行性分析 3.1.1 技术可行性分析 3.1.2 经济可行性分析 3.1.3 运行可行性分析 3.2 系统性能分析 3.2.1 易用性指标 3.2.2 可扩展性指标 3.2.3 健壮性

计算机视觉全系列实战教程:(二)Opencv4+VS2022开发环境搭建

1.下载和安装 VS2022下载:https://visualstudio.microsoft.com/zh-hans/vs/ Opencv下载:https://opencv.org/releases/ Opencv安装有多种方式,一般学习者直接下载.exe傻瓜式安装即可 2.VS2022配置opencv4开发环境 (1)新建项目 (2)项目属性 右键项目,点击属性 (3)VC++目录

PHP开发中的不安全反序列化

序列化是开发语言中将某个对象转换为一串字节流的过程,转换后的字节流可以方便存储在数据库中,也可以方便在网络中进行传输。而反序列化则是将数据库取出的字节流或从网络上接收到的字节流反向转换为对象的过程。概念虽如此,但不同的开发语言的序列化和反序列化的过程又略有不同。         以下代码是PHP序列化和反序列化的简单示例:     如果应用的反序列化字符串能够最终被用户操控,那么恶

NXP RT1176(一)——二级BootLoader开发(安全引导加载程序SBL)

目录 1. 开发环境 2. 二级BOOT的功能 3. 步骤 3.1 配置源码 3.2 构建项目 3.2.1 MDK 3.2.2 IAR(IAR也编译一下工程看看,这样两个平台都可以支持了)         单核M7的开发!! 1. 开发环境         本文Windows下开发: 编译方法(以下三种选其一即可): 工具链: GCC_ARM toolchain IDE

开发没有直径,但也要避免走弯路

接触开发,从大学开始算,已经整整5年了。从最开始的c,到数据结构,到java,到数据库,到javascript,html,css,到android。作为一个开发者,大家都知道一句名言,那就是唯一不变的就是变化。需求变,技术变,公司变,各种变。这里面,我们开发更加关心的是技术的变化,以及如何去掌握新技术。     从事java后台开发的,很多程序员对于javascript,css,

鸿蒙应用开发之调用C++开发代码库2

接着下来先分析C++部分的代码,主要关注点是C++代码要怎么样编写,才能被ArkTS代码调用,它们之间的数据类型又是怎么样转换的。 在这个工程里,先来看一下ArkTS代码调用C++代码的方式,先要导入动态连接库:import libHello from 'libhello.so'; 这句语句的意思就是从libhello.so动态连接库里加载libHello对象,然后就可以使用这个对象所有的方法

Win7用Eclipse配置JSP开发环境详细教程

一、安装jdk 1)下载jdk1.7 http://pan.baidu.com/s/1i3BPXfZ 自己定义一个目录安装,一步步安装下来,我是安装到了D盘,如图所示: 2)设置环境变量,我的电脑右击点属性,再点高级系统设置 点击环境变量进行环境变量配置,如图所示: 配置方法一: 1)配置时找到系统变量,找到path变量,如果没有则新建。 在变量名填Path,变量值填 D:\jd