lombok+热部署+健康监控

LOMBOK

背景分析

在实际的java项目中我们创建的所有pojo类几乎都要为属性添加set/get/toString等相关方法,所有的日志记录相关类可能都要创建日志等对象,这些样板代码既没有技术含量,又影响着代码的美观,同时重复的编码过程会在无形中加大我们的工作量。 此时Lombok应运而生。

lombok概述

Lombok是一个第三的Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来告诉编译过程中的编译工具,在源代码编译成字节码的过程中,在字节码中添加一些量样板代码。

常用注解分析

  • @Setter 用于为描述的类生成setter方法,不包含final修饰属性。
  • @Getter 用于为描述的类生成getter方法。
  • @ToString 用于为描述的类添加toString方法。
  • @EqualsAndHashCode 用于为描述的类,生成hashCode和equals方法。
  • @NoArgsConstructor 用于为描述的类生成无参的构造方法。
  • @AllArgsConstructor 用于为描述的类生成包含类中所有字段的构造方法。
  • @Data用于为描述的类生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
  • @Slf4J 用于为描述的类添加一个日志属性对象。

 

idea,直接从插件搜

 

热部署

 

热部署简介

Spring Boot 开发者为Spring Boot项目中提供了一个热部署(spring-boot-devtools)模块,支持项目的热部署(修改了某些资源以后无需重启服务),以提高开发效率.其底层其实是借助了两个类加载器做了具体实现,一个类加载器加载不变class,一个类加载器加载可能变化类,以提供类的热部署性能.

 

 

热部署环境初始化

本次热部署的演示在IDEA开发中进行实现,其它工具可以自己通过搜索引擎进行学习。

IDEA 启动自动编译,如图所示:

image.png

IDEA工具中启动注册窗口(按ctrl+shift+alt+/),如图所示:
image.png

选择编译构建配置,如图所示:
image.png

热部署在项目中应用

在需要热部署的项目或module中添加如下依赖:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <scope>runtime</scope>
</dependency>

依赖下载以后,可重启reload项目,然后当我们修改了src/main/java目录下的java文件或修改了src/main/resources目录下的配置文件时,默认都会重启你的web服务器,但是修改了测试类或html文件不会自动重启和部署。

 

健康监控简述

Spring Boot 中actuator模块提供了健康检查,审计、指标收集,HTTP跟踪等功能,可以帮助我们更好的管理和跟踪springboot项目。

健康监控配置实现

在需要使用健康监控的项目或module中,添加如下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

添加完依赖以后,reload项目或module。

健康监控启动分析

启动项目,在浏览器中输入如下地址:(SpringBoot默认打开的监控选项有限)

http://localhost/actuator

其访问结果,如图所示:

image.png

还可以在actuator列出的选中中进行点击,例如访问health

http://localhost/actuator/health

其呈现结果,如图所示(其中up状态表示正常):
image.png

假如希望查看更多actuator选项,可以在spring boot中配置文件

application.properties中添加如下语句:

management.endpoints.web.exposure.include=*

然后,重启服务器,基于访问http://localhost/actuator地址...

posted @ 2020-12-09 13:49  Liang-shi  阅读(134)  评论(0编辑  收藏  举报