本文将介绍如何设计一个Java File 工具类,以及一些常用的文件操作示例。 1. 工具类的设计原则 在设计工具类时,我们需要遵循以下几个原则: 单一职责原则:每个方法只专注于一个功能,保证代码的清晰易懂...
java
mybatis-plus更新字段的时候设置为null
1 问题 在用mybatis-plus封装的updateById方法来更新数据时,想把一个字段设置为null值,但是发现更新后数据没有为null还是原来的值,这是因为mybatis-plus在更新的时候做了null判断,默认不更新为null的传参。 ...
Spring Boot自定义注解的魔法
在Spring Boot项目中,自定义注解可以大大简化代码并提高可读性和可维护性。本文将通过三个具体场景展示如何优雅地使用自定义注解来解决实际问题。 场景一:统一的日志记录 在实际开发中,我们经常需要在方法...
mybatis-plus中and()和or()连用,格式为A and( B or C)
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了QueryWrapper自定义查询对象,可以无需手写sql,进行条件查询。在其中的and()和or...
SpringBoot自定义validation注解校验参数只能为指定的值
需求:实体类中某个属性的值必须为指定的值,比如 0 或者 1 SpringBoot 版本:2.4.8 validation 依赖 <!--数据校验--> <dependency> <groupId>org.springframework.boot<...
java8 stream操作
java8 stream操作 //获取对象集合中某字段的数字和(不会出现空指针) int = 集合对象.stream().mapToInt(集合的对象类名::某字段的get方法).sum() //向对象集合中所有对象放入同一字段值(不会出现空指...
@EnableAsync的作用
在 Spring Boot 中,@EnableAsync 是一个非常有用的注解,用于启用基于注解的异步方法执行。这使得开发者能够轻松地在应用程序中实现异步操作,从而提高应用程序的响应性和性能。 @EnableAsync 的作用: 开启...
springBoot项目中使用缓存Cache
前言 缓存可以通过将经常访问的数据存储在内存中,减少底层数据源如数据库的压力,从而有效提高系统的性能和稳定性。我想大家的项目中或多或少都有使用过,我们项目也不例外,但是最近在review公司的代码的时候...
jar包加密防止反编译–classFinal
有这样的需求,我们项目要部署在其他公司的服务器上,但是又不想让外人看到我们的源码。所以要对jar包中的内容进行加密。 加密方式一般有二,一是可以对class文件中的内容进行混淆,对类名和方法名等进行替换...
Java 检查一个方法上是否存在某个注解(annotation)
Method.isAnnotationPresent(Class