开发工具--IDEA插件学习

一.Lombok

1.作用

以前的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。
简化了Model层的代码的编写
以前pojo类、实体类,需要自己提供set,get、toString、equals、hashCode
Lombok通过各种注解,简化了以上操作

2.常用注解

  1. @AllArgsConstructor:生成全参构造器,@RequiredArgsConstructor, @AllArgsConstructor:作用于类上,用于生成构造函数。有staticName、access等属性。
  2. @NoArgsConstructor生成无参构造器
  3. @Data:作用于类上,是以下注解的集合:@ToString、@Equals@HashCode、 @Getter 、@Setter @RequiredArgsConstructor,会自动生成这些注解
  4. @Getter/@Setter:作用类上,生成所有成员变量的getter/setter方法;作用于成员变量上,生成该成员变量的getter/setter方法。可以设定访问权限及是否懒加载等。
  5. @ToString:作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段
  6. @EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode
  7. @Accessors(chain =true):开启链式编程

3.在线安装插件

1.在IDEA里安装插件

在这里插入图片描述
在这里插入图片描述

2.修改pom.xml,添加依赖包
 <!--添加jar包依赖-->
<dependencies>
    <!--添加lombok插件-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.20</version>
    </dependency>
</dependencies>
添加依赖包

在这里插入图片描述

3.修改pojo类

用lombok前

package cn.tedu.pojo;

public class Car {
    private Integer id;
    private String name;
    private String color;
    private Double price;
    //get set tostring
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return "Car{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", color='" + color + '\'' +
                ", price=" + price +
                '}';
    }
}

用lombok后

package cn.tedu.pojo;
//使用lombok

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Data//自动生成get set tostring hashcode equals
@NoArgsConstructor//自动生成无参构造
@AllArgsConstructor//自动生成全参构造
@Accessors(chain = true)//开启链式编程
public class Student {
    private Integer id;
    private String name;
    private String sex;
}

4.测试
package cn.tedu.test;

import cn.tedu.pojo.Car;
import cn.tedu.pojo.Student;
import org.junit.jupiter.api.Test;

public class Test1 {
    //测试lombok
    @Test
    public void get2(){
        Student s = new Student();
        Student s2 = new Student(200,"rose","女");
//        s.setId(100);
//        s.setName("jack");
//        s.setSex("男");
        //对set()可以使用lombok的链式编程
        s.setId(100).setName("jack").setSex("男");
        System.out.println(s);
        System.out.println(s.getId()+s.getName()+s.getSex());
    }

    //测试Car
    @Test
    public void get(){
        Car c = new Car();
        c.setName("BMW");
        String s = c.getName();
        System.out.println(s);

        c.setId(100);//自动装箱
        Integer i = c.getId() ;
        System.out.println(i);
        System.out.println(  c.getId()  );
    }

}



二.SpringBoot热部署

1.概述

以前服务器改完代码,每次都需要重启服务器
现在只需要改完了重新build就行

2.步骤

1.添加jar包
<!--添加热部署的jar-->
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
     <version>2.5.3</version>
 </dependency>
2.开启IDEA的热部署建,组合键:ctrl+shift+alt+/或者ctrl+alt+a
按下组合键: ctrl + shift + alt + / 或者 ctrl + alt + a, 选中Registry, 选中自动编译, ok

在这里插入图片描述
在这里插入图片描述

3.测试

创建RunApp启动类

package cn.tedu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class RunApp {
    public static void main(String[] args) {
        SpringApplication.run(RunApp.class);
    }
}

创建StuController,接受请求处理响应

package cn.tedu.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("stu")
public class StuController {
    @RequestMapping("get")
    public String get(){
  //热部署:改变成新的数据,也不必重启服务器了,只是build就可以啦
        return "xyz";
    }
}

4.测试: 只要刷新,就可以获取新数据

修改了代码,不必重新启动了,只需要重新编译即可访问新数据。
在这里插入图片描述

http://localhost:8080/stu/get
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

望山。

谢谢您的打赏!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值