Java
文章平均质量分 53
一些Java技术分享
matrixlzp
当机器像人一样思考,编程技巧将会过时。
展开
-
Java 用属性名称字符串获取属性对象
java 中没有 python 一样的方法,通过属性名称直接获取属性值。java 中有 Map, 可以实现类似功能,但是如果我们现在有一个对象,要通过Map的方式获取属性值,还得先将对象转成Map,这需要借助一些JSON工具。java 中能依赖的,就只有反射了。java 原生的反射接口都太繁琐,而且还得捕获各种异常。借助 spring ReflectionUtils 工具可以帮我们快速地实现这种功能。原创 2024-10-09 10:49:23 · 296 阅读 · 0 评论 -
IDEA 设置自动定位文件
IDEA 在使用的过程中,发现有时候,打开一个类,它并不能自动帮我们在左侧 Project 树中定位出文件,需要自己手动点击 瞄准 图标。很不方便。原创 2024-10-02 23:03:51 · 307 阅读 · 0 评论 -
Java 方法前面加 <T> 是做什么?泛型方法 原理、样例
在 Java 中,方法前面加上 表示该方法是一个。允许你在方法签名中指定一个或多个,从而使得该方法可以处理多种类型的对象。这增加了代码的灵活性和复用性。原创 2024-10-02 17:48:05 · 550 阅读 · 0 评论 -
Java SPI 原理、样例
假设现在有一个权威机构,比如 Java,它需要对数据存储进行规范。它定义了一个数据存储接口,和一个加载实现类的工具类。/*** 数据存储接口*//*** 加载 存储服务 工具*/// 从类路径 resources/META-INF/services 下加载 存储服务提供者步骤:1)用IDEA 新建一个 maven 项目,取名叫 storage-specification2)新建上述两个类。原创 2024-09-28 22:23:34 · 1077 阅读 · 0 评论 -
IDEA 高版本创建 Spring Boot 项目选不到 java 8
现在高版本的 IDEA,创建 Spring Boot 项目时常常会选不到 Java 8: 直接使用 Java 17 新建项目,又会报错:配置 Server URL,在弹出来的对话框中,输入 现在就可以选到 Java 8 愉快地玩耍了。原创 2024-09-28 20:25:53 · 458 阅读 · 1 评论 -
SpringBoot 属性大写无法绑定
假设有如下一个对象,它的三个属性全部大写。在使用 SpringMVC 进行接口调用的时候,会发现入参 member 的属性并没有正确绑定。像这种属性全部大写的情况,也是我们平常可能会遇到的场景。比如,这个接口是开放给第三方回调的,第三方回调的 JSON 报文 的对象属性并不一定都是严格的首字母小写驼峰格式。有时候跨语言系统的相互调用,这种情况就更常见了。原创 2024-09-28 15:14:26 · 458 阅读 · 0 评论 -
Javax Validation 自定义注解校验(身份证号校验)
ConstraintValidator 是 javax validation 规范提供给我们的一个实现数据校验的接口。像 hibernate.validator 就有很多这个接口的实现,像我们常见的等都是它的实现。以上代码,参考 NotNullValidator 的实现。原创 2024-09-26 15:00:45 · 1095 阅读 · 0 评论 -
IDEA Dependency Analyzer 分析 maven 项目包的依赖
javax.validation 是我们 SpringMVC 常用的数据校验框架。但是 javax.validation 是一个规范(Java Bean Validation,简称 JSR 380),它并没有具体的实现,它的常用实现,是hibernate-validator。奇怪的是,我们在使用 SpringMVC 的时候,并没有人为地去引用这两个包,那到底是谁帮我们做了这些事情的呢?谁帮我们引入了 javax.validation 和 hibernate-validator 依赖的呢?原创 2024-09-26 11:56:52 · 592 阅读 · 0 评论 -
Javax Validation 嵌套对象验证失效
假设有如下两个对象,学生 Student 和 课程 Course,学生对象关联着课程对象。现在我们想校验,学生对象的字段,以及它所关联的课程对象的字段。我们使用了 javax @NotNull 注解。现在有这样一个 Controller,我们在方法入参加上注解 java @Valid,用来校验 Student。我们希望不管 学生 Student 和 课程 Course 凡是加上 @NotNull 注解的属性,都能进行非空校验。访问测试。原创 2024-09-26 10:26:42 · 290 阅读 · 0 评论 -
Java 获取今天周几
【代码】Java 获取今天周几。原创 2024-09-17 22:37:48 · 170 阅读 · 0 评论