懒人开发

208 阅读3分钟

这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战

Lombok

Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter函数,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。

Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。

在我们idea2020.3之后,创建的SpringBoot项目都会捆绑好Lombok

我们不需要在去安装他的插件,我们只需要在pom文档中

        <dependency>
            <groupId>de.plushnikov.lombok-intellij-plugin</groupId>
            <artifactId>lombok-plugin</artifactId>
            <version>0.5</version>
        </dependency>
@NoArgsConstructor //无参构造器
@AllArgsConstructor //全参构造器
@ToString
@Data //get set 方法
@ConfigurationProperties(prefix = "mycar")
public class Car {
    private String brand;
    private Integer price;

}

lombok插件的原理:

方法1、在编译阶段利用annotation processor 对自定义的注解进行预处理后生成真正在jvm上面执行的class文件 JSR269 插件化注解处理

方法2、利用反射技术在运行的时候动态修改。

需要注意的:

1、 lombok要求在idea中安装对应的插件,如果项目中一个人使用了lombok则都要使用

2、代码的可读性和可调式性低

@Data 默认在重写equalandhashcode的时候,只比较本类中的,不会比较父类中的属性

一般适用于业务项目,不适应于开发中间件

dev-tools

我们在开发过程中,我们再改错的过程中,我们如果修改了类中的某些代码,我们就需要重启项目,这样就会十分的麻烦,添加这个插件之后,我们直接Ctrl+F9就会修改了,也就是我们所说的热部署

我们不需要重启就可以重建

Spring Initailizr

Spring Initializr 从本质上说就是一个Web应用程序,它能为你构建Spring Boot项目结构。虽然不能生成应用程序代码,但它能为你提供一个基本的项目结构,以及一个用于构件代码的Maven或者Gradle构建说明文件。

  • 通过Web界面使用
  • 通过Spring Tool Suite使用
  • 通过IntelliJ IDEA使用
  • 通过Spring Boot CLI使用

他是我们的创建SpringBoot的一个向导,在之前的文章中我们就说过,比我们自己通过Maven创建项目快很多,因为他集合了很多模块。能帮我们快速的创建SpringBoot项目,省下许多时间。