SpringBoot 全局异常处理详解(小豆丁技术栈)

一、本文简介

       在使用 Spring 框架开发程序时经常要写接口,尤其现在 SpringBoot 更推荐用 Restful 风格来写接口,在我们写接口中经常遇见的问题就是调用接口后,执行逻辑过程中报错,产生一堆异常信息栈。遇见这种问题是程序错误处理过程中没有考虑全面,漏掉某些错误没有进行异常处理。

       在正常的情况下,我们都会使用 try-catch 来处理异常从而避免发生一些未知的错误导致的不必要的损失,而在 Spring 框架中,它有没有针对异常处理有一些好的方法呢?这个问题回答当然是肯定的,Spring 框架提供了异常处理器来处理通过 Controller 接口访问应用产生的异常,只需要配置和添加一些注解就可以处理通过 Controller 接口抛出的全部的异常。

Read More

Java8中使用Lambda表达式简化代码(小豆丁技术栈)

一、Lambda 表达式简介

1、什么是 Lambda 表达式

       Lambda 表达式是在 JDK 8 中引入的一个新特性,可用于取代大部分的匿名内部类。使用 Lambda 表达式可以完成用少量的代码实现复杂的功能,极大的简化代码代码量和代码结构。同时,JDK 中也增加了大量的内置函数式接口供我们使用,使得在使用 Lambda 表达式时更加简单、高效。

Read More

Java8中新增日期时间API的使用(小豆丁技术栈)

一、简介

       从 Java 1.0 开始,就提供了对日期与时间处理的 java.util.Date 类,它允许把日期解释为年、月、日、小时、分钟和秒值,也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。在升级版本到 Java 1.1 前,Java 维护者认为 Date 类很难被重新构造,由于这个原因,Java 1.1 增加了一个新的 java.util.Calendar 类。Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。可是在开发者使用过程中感受到,Calendar 类并不比 Date 类好用,它们面临的部分问题是:

  • 可变性:像时间和日期这样的类应该是不可变的。
  • 偏移性:Date 中的年份是从 1900 开始的,而月份是从 0 开始的,不太符合常识习惯。
  • 类命名:Date 并不表示处理”日期”,而”Calendar”类也不全是表示”日历”,类命名比较不合理。
  • 格式化:时间日期格式化只对 Date 有用,Calendar 则不行,且时间格式化对象存在线程安全问题。

自 2001 年起 Joda-Time 项目发布,它提供了简单易用且线程安全的时间类库,很快在 Java 社区中流行并广泛使用。Java 维护人员考虑到 JDK 中也需要一个这样的库,于是就与巴西的 Michael Nascimento Santos 合作,Java 官方 JDK 新增了的时间/日期 API的进程(JSR-310)。

Read More