摘要: 在项目中,经常有一些业务需要抛出异常,但是如果后台直接抛出throw new Exception的话,前端就很难看,对用户提示也不够友好,今天我们就来解决这个问题。 先建立一个工程,模拟将异常抛出。如下: @RestController public class DemoController { @ 阅读全文
posted @ 2021-07-29 14:34 大盛玩java 阅读(107) 评论(0) 推荐(0)
摘要: 在之前的章节中我们讲过yml配置文件,小伙伴们还记得吗?很好用,但是实际生产中会有很多问题。 测试是一套配置,生产是一套配置;不同人开发不同的模块,共用一个yml文件容易发生冲突; 本地开发需要本地化配置调试,本节咱们就把这些头疼的问题统统解决掉。 首先我们建立一个工程,将application.p 阅读全文
posted @ 2021-07-26 14:47 大盛玩java 阅读(211) 评论(0) 推荐(0)
摘要: 常用的定时任务有两种: 基于注解 基于接口 基于注解@Scheduled @Service public class Scheduling1Service { //每2秒执行一次(若上次任务执行时间超过2秒,则立即执行,否则从上一个任务开始时算起2秒后执行本次任务) @Scheduled(fixed 阅读全文
posted @ 2021-07-23 11:10 大盛玩java 阅读(96) 评论(0) 推荐(0)
摘要: 前言 看了前一篇重构之后的代码,你可能还会有疑问: 在添加新的告警逻辑时,改动二(添加新的 handler 类)是基于扩展而非修改的方式来完成的,但改动一、三、四貌似不是基于扩展而是基于修改的方式来完成的, 那改动一、三、四不就违背了开闭原则吗? public class Alert { // 代码 阅读全文
posted @ 2021-07-20 14:40 大盛玩java 阅读(95) 评论(0) 推荐(0)
摘要: 前言 ​我们学习了 SOLID 原则中的单一职责原则和开闭原则。今天,我们再来学习 SOLID 中的 “L” 对应的原则:里式替换原则。 整体上来讲,这个设计原则是比较简单、容易理解和掌握的。今天我主要通过几个反例,带你看看,哪些代码是违反里式替换原则的?我们该如何将它们改造成满足里式替换原则?除此 阅读全文
posted @ 2021-07-16 15:03 大盛玩java 阅读(96) 评论(0) 推荐(0)
摘要: 实际项目开发过程中,肯定有这样的需求: 记录每个rest请求耗费的时间,入参,出参 某些请求需要判断是否有权限,某些请求是不需要权限也可以运行的 这个需求太普遍了。今天我们就一起来学习这个需求的两种实现方式: 拦截器 过滤器 拦截器 话不多说,咱们上代码,新建日志拦截器: @Component pu 阅读全文
posted @ 2021-07-12 16:38 大盛玩java 阅读(107) 评论(0) 推荐(0)
摘要: 前言 上一篇开闭原则最有用的代码改动是基于 “修改” 的方式来实现新功能的。如果我们遵循开闭原则,也就是 “对扩展开放、对修改关闭”。那如何通过 “扩展” 的方式,来实现同样的功能呢? 重构 我们先重构一下之前的 Alert 代码,让它的扩展性更好一些。重构的内容主要包含两部分: 第一部分是将 ch 阅读全文
posted @ 2021-07-08 16:55 大盛玩java 阅读(180) 评论(0) 推荐(0)
摘要: 文件上传 新建一个项目,添加UploadController @RestController public class UploadController { @PostMapping("upload") public String post(@RequestParam("file") Multipa 阅读全文
posted @ 2021-07-02 15:07 大盛玩java 阅读(114) 评论(0) 推荐(0)
摘要: 我们在实际的项目过程中,如何理解Java设计模式的单一职责原则(SRP)? 我们今天要学习的是 SOLID 原则中的第一个原则:单一职责原则。 单一职责原则的英文是 Single Responsibility Principle,缩写为 SRP。这个原则的英文描述是这样的:A class or mo 阅读全文
posted @ 2021-07-01 16:31 大盛玩java 阅读(164) 评论(0) 推荐(0)
摘要: @SpringBootApplication 包含@Configuration、@EnableAutoConfiguration、@ComponentScan,通常放在主类上。 @Controller 标志是一个控制器类,需要与@RequestMapping配合使用。通常做前后端分离的项目用这个注解 阅读全文
posted @ 2021-06-29 16:46 大盛玩java 阅读(63) 评论(0) 推荐(0)