摘要:
背景 项目当中需要进行业务时间的校验,如上午 9:00-下午 17:00,在 9:00 前或 17:00 后是不能处理相关业务的。因此在业务校验的 Service 中定义了一个 checkBizTime() 方法。原本代码如下: public void checkBizTime() { Date c 阅读全文
摘要:
背景 Mybatis中可以使用 <choose><when>...</when></choose> 语句来实现条件选择,<when> 标签含有 test 属性用于设置比较条件,但是在某些特定情况下,字符串的比较会存在一个坑,那就是单字符字符串会被降级为字符类型(char),从而导致比较条件不会生效。 阅读全文
摘要:
上一篇文章的问题 在上一篇文章 Spring Boot RestController接口如何输出到终端 中讨论了如何使用 HttpSerlvetResponse 写入输出流,使应急接口通过 curl 调用时可以在控制台输出信息,使运维人员知道命令执行情况。 但是上一篇文章的问题是,HttpServl 阅读全文
摘要:
今天在公司项目的代码上实践了一下,发现这种方法对业务代码侵入性太大,大量的业务方法需要增加传入参数,使得业务方法和HttpServletResponse类耦合度太高,需要将业务和输出解耦,具体实现请看下一篇文章 使用HttpServletResponse实现curl接口时控制台输出(续) 背景 公司 阅读全文
摘要:
在Spring Boot 1.5.x中,默认使用Junit4进行测试。而在对Controller进行接口测试的时候,使用 @AutoConfigureMockMvc 注解是不能注入 MockMvc 对象的。因此只能使用 WebApplicationContext 类去构建 MockMvc 对象。 在 阅读全文
摘要:
今天在工作中遇到一个问题,一个Service类中有一个方法,其中使用了 AopContext.currentProxy() 去访问自身的函数,例如 int result = ((OrderServiceImpl) AopContext.currentProxy()).save(); 单元测试方法如下 阅读全文
摘要:
1. 导入JUnit5测试框架 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclus 阅读全文
摘要:
1. 引入Jacoco插件和Maven Site插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.7.1</version> </ 阅读全文
摘要:
ArrayList 中的遍历删除 在代码编写过程中经常会遇到这样的要求:遍历一个线性表,要求只遍历一遍(时间复杂度$O(n)$),删除符合指定条件的元素,且要求空间复杂度 \(O(1)\)。 例如我们有下列数据,要求遍历列表并删除所有偶数。 List<Integer> myList = new Ar 阅读全文
摘要:
背景 知乎上最近发现一篇好文 图解K8S(01):基于Ubuntu 20.04部署1.23版K8S集群,想着之前 K8S 部署一直不成功,那么就照着这篇文章中说的试一试。结果在实验时遇到了 VMWare 虚拟网卡和虚拟网络的坑,经过仔细研究和查找资料终于大致得到解决,所以就通过这篇文章记录一下,给自 阅读全文