侧边栏壁纸
博主头像
coydone博主等级

记录学习,分享生活的个人站点

  • 累计撰写 306 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Lombok

coydone
2022-03-01 / 0 评论 / 0 点赞 / 320 阅读 / 1,258 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-05-02,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

IDEA中使用Lombok

1、安装lombok插件

安装完成之后需要重启IDEA生效。

2、pom文件添加lombok的依赖

<!-- lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>compile</scope>
</dependency>

简化JavaBean开发

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor

@Builder
public class Hero {
    @NonNull
    private int id;
    private String name;

    public static void main(String[] args) {
        //传统方式
        Hero h1 = new Hero();
        h1.setId(1);
        h1.setName("garren");
        System.out.println(h1);

        //builder 方式
        Hero h2 =Hero.builder().id(1).name("gareen").build();
        System.out.println(h2);
    }
}

简化日志开发

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

常用注解介绍

  • @Data:会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。

  • @AllArgsConstructor、@NoArgsConstructor:分别提供全参构造方法和无参构造方法。

  • @Getter:为实体类添加getter()方法。

  • @Setter:为实体类添加setter()方法。

  • @ToString:为实体类添加toString()方法。

  • @EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode。

  • @NonNull:主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。

  • @Builder实例化和设置属性值的风格变了,将类转变为建造者模式。

0

评论区