Lombok
概述
Lombok是一个第三方库,基于这个库中的API,可以为指定的class文件添加相关的代码,例如,set/get/toString等,以简化我们自己对这部分代码的编写
原理
在java源码编译时,基于lombok做了拦截,底层借助字节码技术为class文件做了增强
如何实现
第一步
在idea中安装lombok插件
第二步
添加lombok依赖,可以在idea中安装EditStarters插件,在pom.xml文件中,按快捷键Alt+insert启动,快速查找依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
第三步
在指定类上使用Lombok注解进行描述
常用注解
1)@Setter 描述类时,为类添加set相关方法
2)@Getter 描述类时,为类添加get相关方法
3)@ToString 描述类时,为类添加toString相关方法
4)@NoArgsConstructor 描述类时,为类添加无参构造方法5)@AllArgsConstructor 描述类时,为类添加全参构造方法
6)@Data 描述类时,会在类的内部添加set/get/toString/equals/hashCode等方法
7)@Slf4j 描述类时,会在类的内部创建一个日志对象
SpringBoot工程中的热部署
原理
在SpringBoot工程中,默认设置了一个监听器,通过监听器监听代码的变化,发现变化以后,启动类的加载器(ClassLoader)对变化的类或配置进行重新加载,以实现热部署(动态更新)操作,这个操作相对于重启整个服务有性能上的优势,直接热部署的速度相对重启整个服务速度要快一些
如何实现
在项目中,添加热部署依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
常见问题
热部署不生效,可能是什么原因?
答:
首先要确定的是,你修改的那部分资源,默认静态资源,单元测试类修改以后是不会自动重启服务的,假如步是这部分内容,请检测代码是否配置自动编译选项。
SpringBoot工程中的健康检查
原理
SpringBoot工程中提供了对项目整体运行环境的监控,提供了对Bean对象以及Bean之间依赖关系的检查,提供了Web请求中url映射关系的分析和检查,提供了连接池,线程池,jvm等参数的监控
如何实现
第一步
添加健康检查依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
第二步
打开监控选项(默认可查看的选项比较少)
management.endpoints.web.exposure.include=*
第三步
打开游览器进行访问
http://localhost/actuator