springboot感受优化06

时间:2021-08-19 01:23:27

01.健康检查

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

如何查看项目的健康程度
http://localhost/actuator/health

假如希望查看更多actuator选项,可以在spring boot中配置文件
application.properties中添加如下语句:
management.endpoints.web.exposure.include=*

02.热部署

基于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文件不会自动重启和部署。
03.lombok
Lombok是一个第三库,可以基于lombok中提供的API,在程序编译时自动织入一些方法。这样做的话可以简化我们对某些方法的编写,例如,省略pojo类中的set方法,get方法,toString等方法的编写。我们写的java程序可以在编译时,通过lombok自动将这些方法添加到.class文件中,其应用步骤如下:
第一步:添加依赖。
第二步:找到下载的lombok-xxx.jar依赖所在的位置。
第三步:启动操作系统命令行客户端,并切换到lombok-xxx.jar文件所在的目录,然后,利用java –jar 指令启动lombok插件,如图-15所示:

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

springboot感受优化06
springboot感受优化06
选择相关的exe文件。

成功后出现这个界面
springboot感受优化06
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);

package com.cy.pj.activity.pojo;
@Data
public class Activity {//.class
        private Long id;
        private String title;
        private String category;
        @DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
        private LocalDateTime startTime;
        @DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
        private LocalDateTime endTime;
        private Short state=1;//1 有效状态
        private String remark;
        private String createdUser;
        private LocalDateTime createdTime;
}
测试代码 
package com.cy.pj.pojo;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@SpringBootTest
public class ActivityTests {
        @Test
        public void testAty01() {
                Activity aty=new Activity();
                aty.setId(10L);
                aty.setTitle("A-Title");
                aty.setCategory("A-Type");
                System.out.println(aty.getId());
                System.out.println(aty.getTitle());
                System.out.println(aty.getCategory());
                log.info(aty.toString());
        }
}