一、springboot 工程下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 用于为描述的类添加一个日志属性对象。
lombok安装
idea中的安装配置
第一步:打开idea的设置窗口,找到plugins菜单,搜索lombok进行安装,如图所示:
第二步:启动注解处理,如图所示:
第三步:重启idea(可选,有的idea版本需要)。
lombok在maven项目中应用
第一步:添加lombok依赖。
org.projectlombok
lombok
annotationProcessor
第二步:在类上应用lombok注解。
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Goods {
private Long id;
private String name;
private String remark;
private Date createdTime;
}
第三步:编写单元测试类检测Lombok注解应用
@Slf4j
@SpringBootTest
public class GoodsTests{
@Test
void testGoods(){
Goods g=new Goods();
g.setId(100L);
g.setName("Lombok");
log.info("id的值为{}",g.getId());
log.info("name的值为{}",g.getName());
}
}
二、springboot工程中的热部署实现。
热部署简介
Spring Boot 开发者为Spring Boot项目中提供了一个热部署(spring-boot-devtools)模块,支持项目的热部署(修改了某些资源以后无需重启服务),以提高开发效率.其底层其实是借助了两个类加载器做了具体实现,一个类加载器加载不变class,一个类加载器加载可能变化类,以提供类的热部署性能.
热部署环境初始化
本次热部署的演示在IDEA开发中进行实现,其它工具可以自己通过搜索引擎进行学习。
IDEA 启动自动编译,如图所示:
IDEA工具中启动注册窗口(按ctrl+shift+alt+/),如图所示:
选择编译构建配置,如图所示:
热部署在项目中应用
在需要热部署的项目或module中添加如下依赖:
org.springframework.boot
spring-boot-devtools
runtime
依赖下载以后,可重启reload项目,然后当我们修改了src/main/java目录下的java文件或修改了src/main/resources目录下的配置文件时,默认都会重启你的web服务器,但是修改了测试类或html文件不会自动重启和部署。
三、SpringBoot 工程的健康监控实现
健康监控简述
Spring Boot 中actuator模块提供了健康检查,审计、指标收集,HTTP跟踪等功能,可以帮助我们更好的管理和跟踪springboot项目。
健康监控配置实现
在需要使用健康监控的项目或module中,添加如下依赖:
org.springframework.boot
spring-boot-starter-actuator
添加完依赖以后,reload项目或module。
健康监控启动分析
启动项目,在浏览器中输入如下地址:(SpringBoot默认打开的监控选项有限)
http://localhost/actuator
其访问结果,如图所示:
还可以在actuator列出的选中中进行点击,例如访问health
http://localhost/actuator/health
其呈现结果,如图所示(其中up状态表示正常):
假如希望查看更多actuator选项,可以在spring boot中配置文件
application.properties中添加如下语句:
management.endpoints.web.exposure.include=*
然后,重启服务器,基于访问http://localhost/actuator地址...)