自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 springboot项目远程调用restful接口

【代码】springboot项目远程调用restful接口。

2023-10-10 08:57:07 450

原创 springboot项目controller方法参数校验异常处理

假设有一个控制器(Controller)方法,该方法接受一个用户注册的请求,并期望接收用户名和密码作为参数。想要确保这两个参数不能为空或只包含空格。还可以创建自定义注解和拦截器来实现参数的自定义校验逻辑。这种方式更加灵活,可以在请求处理之前拦截请求并进行校验。在方法内部手动检查参数,如果不满足条件,则抛出自定义异常并在方法内部进行捕获和处理。异常,并从异常中提取校验错误信息,然后将错误信息封装到响应中返回给前端。参数不能为空或只包含空格。为空或只包含空格,Spring Boot将抛出。

2023-09-24 20:55:45 424

原创 Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/Datatype

如果你的应用程序依赖于JAXB,并且你正在使用Java 9或更高版本,你需要将JAXB作为项目的额外依赖项包含在内。你可以通过将以下依赖项添加到项目的构建文件(例如,Maven的。类,而该类在 Java 9 及以后的版本中不再默认包含在标准 Java SE 分发中,因此可能会导致。:首先,请确认你正在使用的Java版本。如果你正在使用Java 9或更高版本,要注意。确保你正在使用与你的应用程序兼容的Java版本。确保在添加这些依赖项后,重新构建和部署你的应用程序。这个错误表明你的应用程序依赖于。

2023-09-10 00:18:02 5573

原创 postman测试springboot项目常见错误

400 服务器不理解请求的语法。一般来说可能是请求的路径需要请求参数,请求参数书写有错误,比如数据类型。405 禁用请求中指定的方法 可能时请求方式错误,比如应该是post请求,结果设置成了get。406 无法使用请求的内容特性响应请求的页面。401 身份验证错误,需要身份认证。404 一般就是路径写错了。403 服务器拒绝请求。

2023-09-02 17:12:31 290

原创 验证类注解

在 Spring Boot 中,你可以使用注解来进行验证类中的字段,确保传入的数据满足特定的规则和条件。注解是一个用于触发数据验证的关键注解,结合验证注解,可以在 Spring Boot 应用中实现数据验证,提高数据的准确性和安全性。在上面的示例中,如果请求数据不满足类中定义的验证规则,将会抛出验证异常,你可以在全局异常处理中处理这些异常。包中的注解来支持数据验证,这些注解可以应用在类的字段上,以定义字段的验证规则。通过使用验证注解,你可以轻松地在应用中实现数据验证,提高数据的完整性和安全性。

2023-08-20 19:38:11 67

原创 IDEA模板注解设置

https://www.cnblogs.com/coder-ahao/p/14224034.htmlIDEA设置注释模板(详细版)Springboot 添加server.servlet.context-path相关使用总结_server.servlet.contextpath_专注写bug的博客-CSDN博客

2023-08-20 16:17:35 38

原创 JPA相关知识

JPA提供了一组内置的方法,你可以直接在Repository接口中使用,而不需要自己编写相应的SQL查询。通过命名规则,你可以创建自定义的添加方法,JPA会根据方法的名称自动生成相应的查询。通过命名规则,你可以创建自定义的更新方法,JPA会根据方法的名称自动生成相应的查询。同时,你也可以根据方法名的规则自定义添加方法,以满足特定的需求。在使用自定义更新方法时,需要注意方法名的命名规则,以及方法参数的命名与顺序。方法来进行更新操作。同时,你也可以根据方法名的规则自定义更新方法,以满足特定的需求。

2023-08-20 16:10:42 37

原创 周末知识点:git的使用 单元测试 Mock测试

在单元测试中,当你使用Mockito创建一个Mock对象时,你可以在测试过程中跟踪该对象上的方法调用。是默认的,你可以省略不写,它表示你期望该方法被调用一次。如果你要验证多次调用,你可以传递不同的参数给。方法允许你断言特定的方法是否被调用,并且你可以指定期望的调用次数。方法是用来验证Mock对象上的方法调用是否按照预期发生,它是确保代码行为正确的一种方式。进行单元测试,测试Service和Controller层的方法。方法的行为,然后我们调用被测试的方法。是否在被测试的方法中被调用了一次。

2023-08-20 10:50:44 96

原创 今日涉及知识点总结---maven/git/spring security禁用

3.spring security禁用:不知道设置了什么,测试接口时需要验证用户名和密码。修改新版maven的setting.xml,配置了环境变量,但是没有成功。明天试一下直接将本地仓库copy过来。6.Spring boot 进行单元测试。1.不同maven利用同一个本地仓库。7.Swagger的使用 Apifox。4.IDEA查找替换。5.JPA的简单使用。

2023-08-17 22:53:35 39

原创 实现数据的增删改查接口

如果需要,在请求的 "Params" 或 "Body" 部分添加必要的请求参数。在测试时,请确保您的应用程序已经正确实现了相应的功能,并且在 Postman 中使用正确的请求类型、URL 和参数。请注意,这只是一个简单的示例,您可以根据实际需求进一步扩展和完善功能,添加更多的业务逻辑、异常处理、数据验证等。是要更新的产品的 ID),在 "Body" 部分选择 "raw",然后输入要更新的数据的 JSON 格式。),在 "Body" 部分选择 "raw",然后输入要创建的数据的 JSON 格式。

2023-08-16 23:20:13 64

原创 35.判断是不是平衡二叉树

在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树。输入一棵节点数为 n 二叉树,判断该二叉树是否是平衡二叉树。

2023-08-14 21:26:16 22

原创 36.二叉搜索树的最近公共祖先

1.对于该题的最近的公共祖先定义:对于有根树T的两个节点p、q,最近公共祖先LCA(T,p,q)表示一个节点x,满足x是p和q的祖先且x的深度尽可能大。在这里,一个节点也可以是它自己的祖先.2.二叉搜索树是若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值。给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。4.p、q 为不同节点且均存在于给定的二叉搜索树中。3.所有节点的值都是唯一的。

2023-08-14 21:24:38 28

原创 构建二叉树

【代码】构建二叉树。

2023-08-14 21:24:07 25

原创 PriorityQueue的使用

在Java中,优先队列(PriorityQueue)是一种特殊类型的队列,它可以根据元素的优先级进行排序和访问。默认情况下,优先队列按元素的自然顺序进行排序(例如,数字按升序排序,字符串按字典顺序排序)。如果你想在优先队列中存储数组类型的元素,你需要自定义比较器来定义元素之间的优先级。总之,优先队列是一种非常有用的数据结构,特别适用于需要处理元素按照优先级排序的情况,如任务调度、事件处理等。不是一定要定义比较器,但在大多数情况下,定义一个比较器是很有帮助的,特别是当你想要按照特定的优先级对元素进行排序时。

2023-08-14 21:22:33 74

原创 347.前k个高频元素

利用了优先队列中的小顶堆的特性。首先利用HashMap统计每个元素出现的次数。然后利用优先队列维护出现次数最多的K个元素。当有大于堆顶的键值对出现时,就将堆顶键值对删除。

2023-08-13 22:44:26 24

原创 Deque接口的使用

(Double Ended Queue)是 Java 标准库中的一个接口,代表了一个双端队列,即既可以从队列的前端(头部)进行操作,也可以从队列的后端(尾部)进行操作。如果你的应用需要频繁进行添加和删除操作,特别是在队列的头部和尾部,那么基于链表的实现可能更适合。如果你需要经常按索引访问队列中的元素,基于数组的实现可能更合适,因为它的随机访问性能更好。如果内存占用是一个关键因素,你可能需要权衡基于链表和基于数组的实现的内存开销。如果你对性能有较高的要求,可以考虑基于数组的实现,但要注意可能的数组复制操作。

2023-08-13 22:15:40 83

原创 239.滑动窗口最大值

代码思路:因为每次在窗口里的数字是不断向后移动的,所以需要保证存储最大值的队列是一个单调递减的队列。也就是说,队头的元素一定是那个最大值,这样每次向右移动,有了元素的变化后,才能方便的得到当前窗口中的最大值。如果当前的队列是不为空的,就要比较当前值是否大于队列中的值,如果大于就删除队列中的那个元素,不断比较。然后,从第k+1个元素开始,就涉及到了是否删除队列中队头元素的问题,因为滑动窗口在向后移动,如果从滑动窗口中去掉的那个元素正好是上一个窗口中的最大值,那队列中的这个元素需要删除掉。

2023-08-13 21:49:52 27

原创 33.判断是不是二叉搜索树

解法一:通过中序遍历,将每个结点的值放入ArrayList中,然后再判断这个ArrayList是不是按顺序的。题目:给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。

2023-08-13 21:35:37 32

原创 150.逆波兰表达式求值

算法思想:一旦遇到运算符,就让运算符临近的两个数值进行计算,并将结果返回,不断重复运算符临近的两个数值进行计算。在栈中,就是如果为数字就进栈,位运算符就将栈顶的两个数字进行运算,并将计算结果压栈。

2023-08-13 15:44:41 23

原创 32.合并二叉树

题目:已知两颗二叉树,将它们合并成一颗二叉树。合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替。

2023-08-13 15:32:58 31

原创 38.重建二叉树

题目:给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。题目:给定节点数为 n 的二叉树的中序遍历和后序遍历结果,请重建出该二叉树并返回它的头结点。

2023-08-13 14:19:03 14

原创 45.斐波那契数列

【代码】45.斐波那契数列。

2023-08-13 14:18:39 16

原创 46.跳台阶

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

2023-08-13 14:18:10 17

原创 29.二叉树中和为某一值的路径(二)

题目:输入一颗二叉树的根节点root和一个整数expectNumber,找出二叉树中结点值的和为expectNumber的所有路径。和(一)的区别就是在于输出方式的区别。

2023-08-12 20:46:04 22

原创 37.二叉树的最近公共祖先

题目:给定一棵二叉树(保证非空)以及这棵树上的两个节点对应的val值 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点。

2023-08-12 20:44:27 73

原创 40.用两个栈实现队列

题目:用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。

2023-08-12 20:43:31 17

原创 39.输出二叉树的右视图

思路:先根据前序遍历和中序遍历,得到二叉树。根据先序顺序得到根,再根据根得到其在中序遍历中的位置,然后得到左右子树的size,从而得到左右子树的先序遍历和中序遍历。最后利用栈按照层序遍历,每层最后一个输出的加入到ArrayList,因为ArrayList是动态数组,方便增删,最后再转换成数组的形式输出。题目:请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图。

2023-08-12 20:43:11 95

原创 44.数组中数量超过一半的数字

例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。题目:给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。

2023-08-12 20:42:27 16

原创 分页代码逻辑

【代码】分页代码逻辑。

2023-08-12 20:41:26 14

原创 笔试题:最长首尾相同字符串

【代码】笔试题:最长首尾相同字符串。

2023-08-12 20:41:03 13

原创 509. 斐波那契数

【代码】509. 斐波那契数。

2023-08-12 20:40:53 14

原创 746.使用最小花费爬楼梯

经典的动态规划问题:确定初始值,确定递推公式,遍历顺序。

2023-08-12 20:40:31 61

原创 63. 不同路径 II

动态规划问题:在不同路径的基础上加入了障碍物,就在障碍物所在位置标记路径为0即可,还需注意第一行和第一列障碍物后边的也都不能走了,初始化容易出错。

2023-08-12 20:39:40 68

原创 70. 爬楼梯

【代码】70. 爬楼梯。

2023-08-10 20:48:00 16

原创 62.不同路径

动态规划问题:首先确定dp[i][j]的含义:(0,0)->(i,j)有多少条路经。以(i,j)为例:到该点的前一步只有两种情况:要么是从其上边这个点过来,要么是从左边这个点过来。所以(i,j)的路径等于这两个点的路径之和。因而递推公式为dp[i][j] = dp[i][j-1]+dp[i-1][j];遍历方式就从左到右遍历求出这整个矩阵的值,就求出了最右下角的值。机器人每次只能向下或者向右移动一步。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

2023-08-10 20:47:48 91

原创 343. 整数拆分

动态规划:先自己举几个例子,然后发现递推公式。其就是列举所有可能,然后从中寻找最大值输出。

2023-08-10 20:47:33 103

原创 416. 分割等和子集

【代码】416. 分割等和子集。

2023-08-10 20:47:17 166

原创 最长回文子序列

【代码】最长回文子序列。

2023-08-10 20:47:03 19

原创 647. 回文子串

boolean默认类型是false。

2023-08-10 20:46:49 102

原创 455. 分发饼干

【代码】455. 分发饼干。

2023-08-10 20:46:33 12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除