47--Spring Boot 应用加强(插件使用)

Spring boot应用加强

健康检查配置及测试

在项目中添加健康检查依赖:

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

健康检查分析:

启动服务器,在浏览器中输入如下地址: http://localhost:8080/actuator/health

如希望查看更多actuator选项,可以在spring boot中配置文件application.properties中添加如下语句:(生产环境不加

management.endpoints.web.exposure.include=*

此时在浏览器地址栏可以输入.http://localhost/:8080actuator/beans

查看所有的spring 容器中的bean信息。

方式一:当需要以一种更好的结构化方式查看bean相关信息,可以对Google浏览器安装jsonView插件

方式二:使用Postman等工具进行资源请求然后查询bean信息,

方式三:直接在sts工具的Boot Dashboard中选中项目,查看其属性(show properties)(重点掌握).

1594017639157

热部署配置及实现

​ 基于SpringBoot的Web项目,修改了某个类以后,默认不会自动重新部署和加载,需要我们手动重启服务器。

如我们希望项目可以自动部署,可以添加如下依赖,进行热部署实现。

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

说明:当我们修改了src/main/java目录下的java文件或修改了src/main/resources目录下的配置文件时,默认都会重启你的web服务器,但是修改了测试类或html文件不会自动重启和部署(但假如希望修改了html,在重启tomcat的情况下能开到页面模板内容的变化,需要配置spring.thymeleaf.cache=false)。

Lombok插件应用

概述:

​ Lombok是一个第三库,可以基于lombok中提供的API,在程序编译时自动织入一些方法。这样做的话可以简化我们对某些方法的编写,例如,省略pojo类中的set方法,get方法,toString等方法的编写。

​ 我们写的java程序可以在编译时,通过lombok自动将这些方法添加到.class文件中,其应用步骤如下:

第一步:添加依赖。

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
</dependency>

第二步:找到下载的lombok-xxx.jar依赖所在的位置。

第三步:启动操作系统命令行客户端,并切换到lombok-xxx.jar文件所在的目录,然后,利用java –jar 指令启动lombok插件

1594034425360

回车执行如上命令,会弹出选择安装对话框,如图所示:

1594034460740

​ 然后在弹出的框中选择sts启动执行文件(SpringToolSuite4.exe)进行安装,安装成功以后会出现如下弹出框,如图所示:

1594034485139

​ 安装成功以后可在STS工具的根目录看到一个lombok.jar文件,同时会在SpringToolSuite4.ini文件的尾部添加lombok.jar文件所在的具体路径,例如

-javaagent:E:\software\sts-4.5.3.RELEASE\lombok.jar

说明:安装成功以后重启sts工具.(假如安装成功以后再次启动sts,此时无法启动,可能与STS所在目录有关系,可以将安装目录下的lombok.jar文件拷出到特定目录,然后修改SpringToolSuite4.ini文件的最后一行的lombok.jar路径即可,同时在配置文件中也不能有空格)。

Lombok 常用注解分析:

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

等价于:private static final Logger log =LoggerFactory.getLogger(Xxx.class);

测试lombok的使用:

package com.cy.pj.activity.pojo;

import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Activity {
	private Long id;
	private String title;
	private String category;
	// 次注解用于描述属性或set方法, 告诉spring mvc按指定格式接收数据
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
	private Date startTime;
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
	private Date endTime;
	private String remark;
	private Integer state;
	private Date createdTime;
	private String createdUser;	
}

posted on 2020-07-06 19:30  liqiangbk  阅读(204)  评论(0编辑  收藏  举报

导航