跳至主要內容
Spring Boot 整合 Lombok,用注解简化 Java 代码,比如说 getter和setter

第二节:整合 Lombok

Spring Boot 早在 2.1.x 版本后就在 starter 中内置了 Lombok 依赖,Intellij IDEA 也早在 IDEA 2020.3 版本的时候内置了 Lombok 插件。为什么它们都要支持 Lombok 呢?Lombok 到底有啥牛皮的?今天我们就来补上这一课。

Lombok 的自我介绍

Lombok 在官网是这样作自我介绍的:

Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code.


沉默王二大约 7 分钟Java企业级开发Spring Boot
SpringBoot中处理校验逻辑的两种方式:Hibernate Validator+全局异常处理

最近正在开发一个知识库学习网站编程喵🐱,需要对请求参数进行校验,比如说非空啊、长度限制啊等等,可选的解决方案有两种:

  • 一种是用 Hibernate Validator 来处理
  • 一种是用全局异常来处理

两种方式,我们一一来实践体验一下。

一、Hibernate Validator

Spring Boot 已经内置了 Hibernate Validator 校验框架,这个可以通过 Spring Boot 官网查看和确认。

第一步,进入 Spring Boot 官网,点击 learn 这个面板,点击参考文档。


沉默王二大约 6 分钟Java企业级开发Spring Boot
一键部署 Spring Boot 到远程 Docker 容器

关于 Docker

Docker 是用 go 语言编写的,这也是 go 语言近些年越来越火的原因之一。关于 Docker,有 3 个重要的概念需要了解下:

  • image:镜像,一个文件,用来创建容器;如果你有 Windows 装机经历,那可以很好理解镜像这个词的含义,反正我年少的时候没少把 Windows 镜像刻盘重装系统。
  • container:容器,一个可运行的镜像实例,里面运行着一个完整的操作系统,可以做一切你当前操作系统可以做的事情。
  • Dockerfile:镜像构建的模板,描述镜像构建的步骤。

沉默王二大约 8 分钟Java企业级开发Spring Boot
Spring Boot 整合 MyBatis

ORM 框架的本质是简化操作数据库的编码工作,常用的框架有两个,一个是可以灵活执行动态 SQL 的 MyBatis;一个是崇尚不用写 SQL 的 Hibernate。前者互联网行业用的多,后者传统行业用的多。

Hibernate 的特点是所有的 SQL 通过 Java 代码生成,发展到最顶端的就是 Spring Data JPA,基本上根据方法名就可以生成对应的 SQL 了。

Spring Boot 整合 JPA


沉默王二大约 7 分钟Java企业级开发Spring Boot
Spring Boot 整合Quartz实现编程喵定时发布文章

前言

编程喵🐱实战项目中需要做一个定时发布文章的功能,于是我就很自然地想到了 Quartz,这是一个老而弥坚的开源任务调度框架。

记得我在 14 年开发大宗期货交易平台的时候就用到了它,每天凌晨定时需要统计一波交易数据,生成日报报表,「配合 Cron 表达式」(上一节有讲)用起来非常自洽。


沉默王二大约 8 分钟Java企业级开发Spring Boot
如何在本地(Windows环境)跑起来编程喵(Spring Boot+Vue)项目源码?

前置环境的准备

  • 一台可以开机的电脑
  • JDK 8
  • Maven
  • Intellij IDEA(非必须,可用 Eclipse)
  • Visual Studio Code(非必须,可用 hbuilderx)
  • MySQL
  • Redis(非必须,会报错,但不影响跑)
  • OSS(非必须,上传图片时报错,但不影响跑)

对,编程喵 🐱(Spring Boot+Vue 的前后端分离项目)要想在本地跑起来,需要这 8 个前置环境。


沉默王二大约 9 分钟Java企业级开发Spring BootVue
如何在本地(macOS环境)跑起来编程喵(Spring Boot+Vue)项目源码?

前置环境的准备

  • 一台可以开机的电脑
  • JDK 8
  • Maven
  • Intellij IDEA(非必须,可用 Eclipse)
  • Visual Studio Code(非必须,可用 hbuilderx)
  • MySQL
  • Redis(非必须,会报错,但不影响跑)
  • OSS(非必须,上传图片时报错,但不影响跑)

对,编程喵 🐱(Spring Boot+Vue 的前后端分离项目)要想在本地跑起来,需要这 8 个前置环境。


沉默王二大约 8 分钟Java企业级开发Spring BootVue
过滤器、拦截器、监听器

前言

先说作用。

  • 过滤器(Filter):当有一堆请求,只希望符合预期的请求进来。
  • 拦截器(Interceptor):想要干涉预期的请求。
  • 监听器(Listener):想要监听这些请求具体做了什么。

再说区别。

过滤器是在请求进入容器后,但还没有进入 Servlet 之前进行预处理的。如下图所示。


沉默王二大约 6 分钟Java企业级开发Spring Boot
Spring Boot 整合 Logback 定制日志框架

关于 Logback

日志系统是一个线上项目必备的素质之一,代表性的日志框架 Log4j、SLF4J、Logback 这哥仨竟然是亲兄弟,他们有一个亲爹,那就是巨佬 Ceki Gulcu。

由于 Spring Boot 的默认日志框架选用的 Logback,再加上 Log4j2 之前爆过严重的漏洞,所以我们这次就只关注 Logback。

1)Logback 非常自然地实现了 SLF4J,不需要像 Log4j 和 JUL 那样加一个适配层。


沉默王二大约 8 分钟Java企业级开发Spring BootRedis
2
3