当前位置: 首页 > article >正文

05-Spring Boot工程中简化开发的方式Lombok和dev-tools

简化开发的方式Lombok和dev-tools

Lombok常用注解

Lombok用标签方式代替构造器、getter/setter、toString()等重复代码, 在程序编译的时候自动生成这些代码

注解名功能
@NoArgsConstructor生成无参构造方法
@AllArgsConstructor生产含所有属性的有参构造方法,如果不希望含所有属性则需要手动生成
@Getter生成属性的getter方法
@Setter生成属性的setter方法
@ToString生成toString方法
@EqualsAndHashCode生成equals和HashCode方法
callSuper = true表示用自己的属性和从父类继承的属性来生成hashcode
callSuper = false(默认)表示只用自己的属性来生成hashcode
@Data除了不能生成有参构造方法,以上注解能生成的@Data都能生成
@Slf4j注入log日志类,简化日志开发, log.info()在控制台上输出信息,方便调试
@Accessors在生成 getter 和 setter 方法时做一些相关的设置
作用于类上时修饰类中所有字段,当作用于具体字段时只对该字段有效
chain属性值默认为false,当该值为true时对应字段的setter方法调用后会返回当前对象即可以实现链式调用

使用步骤

第一步引入依赖org.projectlombok: Spring Boot父工程中已经指定了Lombok的版本号

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

第二步: 搜索并安装Lombok插件
在这里插入图片描述

第三步: 测试Lombok提供的相关注解的功能

@Data
public class User {
    private String name;
    private Integer age;
    private Pet pet;
    public User(String name,Integer age){
        this.name = name;
        this.age = age;
    }
}

@Slf4j
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String handle01(@RequestParam("name") String name){
        log.info("请求进来了....");
        return "Hello, Spring Boot 2!"+"你好:"+name;
    }
}

dev-tools依赖

热更新: 在工程中添加spring-boot-devtools依赖,这样当项目或者页面源代码修改以后按住Ctrl+F9可以快速编译项目并重新加载

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

http://www.kler.cn/news/136716.html

相关文章:

  • 苹果瑕疵数据集苹果质量数据集YOLO格式VOC格式 深度学习 目标检测 数据集
  • jQuery快速填充非form数据
  • 激活函数(sigmoid、tanh、ReLu)
  • 数据库的构成与手写简单数据库的探索
  • 使用Airtest自动化某云音乐爬取歌曲名称
  • 1024程序员节:致敬数字世界的构建者
  • MQTT协议详解
  • LeetCode【76】最小覆盖子串
  • 中间件安全:Apache Tomcat 文件上传.(CVE-2017-12615)
  • Jmeter 吞吐量Per User作用
  • Android AIDL中使用Surface问题
  • 腾讯云服务器标准型S5和CVM标准型S6区别对比_选择攻略
  • pycharm安装教程
  • JavaScript-如何使用变量
  • elasticsearch 概述
  • 「Verilog学习笔记」输入序列连续的序列检测
  • Mistral 7B 比Llama 2更好的开源大模型 (四)
  • 身份证阅读器和社保卡读卡器Harmony鸿蒙系统ArkTS语言SDK开发包
  • PDF控件Spire.PDF for .NET【转换】演示:自定义宽度、高度将 PDF 转 SVG
  • ubuntu20编译安装pkg-config
  • [一周AI简讯]OpenAI宫斗;微软Bing Chat更名Copilot;Youtube测试音乐AI
  • 从哪些方面分析Linux内核源码
  • 如何实现MATLAB与Simulink的数据交互
  • 07_面向对象高级_内部类
  • 智能电销机器人好做吗?ai机器人有没有用?
  • HEVC参考帧技术