Java
文章平均质量分 67
深入后端开发
Clang's Blog
业精于勤,荒于嬉;行成于思,毁于随。
展开
-
Spring中REST API实现异常处理机制的几种方法
本文将说明如何使用Spring为REST API实现异常处理。我们还将简要介绍历史背景,并查看不同版本引入的异常处理选项。在Spring 3.2之前,在Spring MVC应用程序中处理异常的两种主要方法是HandlerExceptionResolver或@ExceptionHandler注释。两者都有一些明显的缺点。从3.2开始,我们引入了@ControllerAdvice注释,以解决前两个解决方案的局限性,并在整个应用程序中促进统一的异常处理。翻译 2024-05-25 07:48:21 · 37 阅读 · 0 评论 -
JetBrains远程开发报错解决:Failed to exec spawn helper: pid: 18310, exit value: 1解决
JetBrains远程开发报错:Failed to exec spawn helper: pid: 18310, exit value: 1。在后面添加 -Djdk.lang.Process.launchMechanism=vfork。JetBrains远程开发如果遇到以上问题,修改下面路径文件。保存,重新打开 idea 就可以正常运行了。原创 2024-04-01 22:37:54 · 266 阅读 · 0 评论 -
使用Collections.sort方法来对自定义对象进行排序
Collections.sort() 可以通过传入一个Comparator来排序,这个Comparator里面有一个compare方法。如果返回值是0,则认为这两个对象相等;如果返回值是小于0的整数,则认为第一个对象小于第二个对象。要实现这一点,需要在调用该方法时传入一个比较器,该比较器用于指定如何比较对象中的值。请注意,如果需要按照降序排序,可以在compare方法中返回p2.getAge() - p1.getAge()。这样就可以按照person对象的age属性进行排序,也可以按照其他属性排序。原创 2023-01-28 13:35:46 · 16765 阅读 · 0 评论 -
Spring中@Resource和@Autowire注解的区别
在上面的示例中,同类型的bean指的是有多个类型为MyDao的bean存在于Spring容器中,如果使用@Autowired注解进行注入的话,Spring容器并不知道应该注入哪一个MyDao类型的bean,因此会抛出异常。换句话说就是如果你在项目中有多个类都是实现了同一个接口或者继承了同一个类,并且这些类都被标记为了@Service,@Repository等等,并且你在其他地方使用了这个接口或者类进行了注入,那么就会出现多个同类型的bean的情况。原创 2023-01-17 17:35:31 · 17776 阅读 · 0 评论 -
Spring Cloud Gateway防重放攻击实现
在上面的代码中,在验证请求的Nonce是否合法时,会先判断Nonce是否已经在usedNonceSet中出现过,如果出现过,则认为该请求是重放攻击,返回错误响应。需要注意的是,这个TIMESTAMP_VALID_TIME是需要根据具体场景和需求来确定的,如果设置过大,则会增加重放攻击的风险,如果设置过小,则会增加误拦截的风险。这个usedNonceSet变量应该是在类的变量里定义并初始化的,并且需要注意的是,这个set要确保线程安全,在不同的线程中能够正确的读写。原创 2023-01-17 14:49:17 · 6116 阅读 · 0 评论 -
IDEA启动报错:Command line is too long的解决办法
在使用IntelliJ IDEA启动项目时,如果出现“Command line is too long”的错误提示,一般是因为命令行参数过长导致的。这种错误一般是由于在项目中引入了大量的第三方包或者配置了大量的VM参数导致的。原创 2022-07-26 18:03:25 · 43693 阅读 · 0 评论 -
记录一次Java程序异常退出的排查过程
最近正处于项目开发阶段,前端一直反应服务访问不上,每次重启之后隔不了多长时间就会出现异常退出,通过网上查找各种资料最终解决了异常退出的问题。Java程序运行在JDK11的本地测试服务器上,服务器的配置都很高,上百G的内存,运行程序之后,有时几分钟或者不到一个小时的时间就会出现异常退出,查看输出日志没有看到异常信息。根据通常的处理方式输出dump文件:但实际情况崩溃的时候没有输出文件命令如下:如果搜索出了Out of memory相关的日志,则基本可以确定是机器内存不足。当然,你也可以去内核日志里头查询。原创 2022-06-17 09:45:24 · 5871 阅读 · 0 评论 -
Spring全局统一异常处理
如:权限不足、数据唯一异常、数据不能为空异常、业务异常等。 这些异常如果不经过处理会对前端开发人员和使用者造成不便,因此我们就需要统一处理他们。二、自定义异常类封装了 BadRequestException,用于处理通用的异常三、全局异常拦截使用全局异常处理器 @RestControllerAdvice 处理请求发送的异常......原创 2022-06-06 15:19:41 · 1146 阅读 · 0 评论