日常开发
文章平均质量分 62
matrixlzp
当机器像人一样思考,编程技巧将会过时。
展开
-
Java SPI 原理、样例
假设现在有一个权威机构,比如 Java,它需要对数据存储进行规范。它定义了一个数据存储接口,和一个加载实现类的工具类。/*** 数据存储接口*//*** 加载 存储服务 工具*/// 从类路径 resources/META-INF/services 下加载 存储服务提供者步骤:1)用IDEA 新建一个 maven 项目,取名叫 storage-specification2)新建上述两个类。原创 2024-09-28 22:23:34 · 873 阅读 · 0 评论 -
IDEA 高版本创建 Spring Boot 项目选不到 java 8
现在高版本的 IDEA,创建 Spring Boot 项目时常常会选不到 Java 8: 直接使用 Java 17 新建项目,又会报错:配置 Server URL,在弹出来的对话框中,输入 现在就可以选到 Java 8 愉快地玩耍了。原创 2024-09-28 20:25:53 · 305 阅读 · 1 评论 -
SpringBoot 属性大写无法绑定
假设有如下一个对象,它的三个属性全部大写。在使用 SpringMVC 进行接口调用的时候,会发现入参 member 的属性并没有正确绑定。像这种属性全部大写的情况,也是我们平常可能会遇到的场景。比如,这个接口是开放给第三方回调的,第三方回调的 JSON 报文 的对象属性并不一定都是严格的首字母小写驼峰格式。有时候跨语言系统的相互调用,这种情况就更常见了。原创 2024-09-28 15:14:26 · 160 阅读 · 0 评论 -
Javax Validation 自定义注解校验(身份证号校验)
ConstraintValidator 是 javax validation 规范提供给我们的一个实现数据校验的接口。像 hibernate.validator 就有很多这个接口的实现,像我们常见的等都是它的实现。以上代码,参考 NotNullValidator 的实现。原创 2024-09-26 15:00:45 · 1048 阅读 · 0 评论 -
Javax Validation 嵌套对象验证失效
假设有如下两个对象,学生 Student 和 课程 Course,学生对象关联着课程对象。现在我们想校验,学生对象的字段,以及它所关联的课程对象的字段。我们使用了 javax @NotNull 注解。现在有这样一个 Controller,我们在方法入参加上注解 java @Valid,用来校验 Student。我们希望不管 学生 Student 和 课程 Course 凡是加上 @NotNull 注解的属性,都能进行非空校验。访问测试。原创 2024-09-26 10:26:42 · 270 阅读 · 0 评论