lombook插件安装

《一》:idea版安装


1.setting→plugins→Browse repositories


2.输入lom后选择install plugin

3.按照提示重启IDEA

4.效果:
IDEA安装lombok插件 - first163id - first163id的博客
 
IDEA安装lombok插件 - first163id - first163id的博客
 
提示:1.使用前记得导包!

            2.在要使用的类名上边@然后会有提示!


《二》.eclipse版安装

1、下载lombokhttp://projectlombok.org/download.html

2、点击安装:


如果eclipse没有安装到默认目录,那么需要点击Specify选择eclipse的安装文件,然后Install即可完成安装


3、如果程序还在报错,那么点击在eclipse的Project选项的clean

4、使用:

Lombok的特色是根据annotation创建一些代码,以减少重复代码的数量,它提供了以下几个annotation:

@Getter和@Setter:为属性创建getter和setter

@EqualsAndHashCode:实现equals()方法和hashCode()方法

@ToString:实现toString()方法

@Data:上述3个annotation的和,会创建getter setter equals hashCode和toString (最实用)

@Cleanup:关闭流

@Synchronized:对象同步

@SneakyThrows:抛出异常

@Log4j: log4j日志声明


@Data是实现所有的成员的Get和Set方法

@ToString(exclude="color") 是ToString时候排除color成员变量

注意调用flag成员变量时候,是isFlag方法






### Lombok 详解 Lombok 是一种 Java 库,它通过注解的方式简化了开发者的编码工作量。其主要目的是减少样板代码的编写,从而让开发者能够更加专注于核心业务逻辑。 #### 安装与配置 为了使用 Lombok,在项目中需要完成以下两步: 1. **添加 Maven 或 Gradle 依赖** 需要在 `pom.xml` 文件中添加如下依赖项[^1]: ```xml <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>x.x.x</version> <scope>provided</scope> </dependency> ``` 2. **安装 IDE 插件(推荐)** 大多数主流 IDE 如 IntelliJ IDEA 和 Eclipse 提供了官方支持的 Lombok 插件安装插件可以确保编译器识别由 Lombok 注解生成的内容。 --- #### 常见注解及其功能说明 以下是 Lombok 中常用的注解以及它们的功能描述: 1. **@Getter / @Setter** 自动生成类属性的 getter 方法和 setter 方法。 ```java import lombok.Getter; import lombok.Setter; @Getter @Setter public class User { private String name; private int age; } ``` 2. **@ToString** 自动生成对象的 `toString()` 方法。 ```java import lombok.ToString; @ToString public class Product { private String name; private double price; } ``` 3. **@EqualsAndHashCode** 自动生成 `equals(Object o)` 和 `hashCode()` 方法。 ```java import lombok.EqualsAndHashCode; @EqualsAndHashCode public class Book { private String title; private String author; } ``` 4. **@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor** 自动为类生成无参构造函数、全参数构造函数或者基于 final 字段的构造函数。 ```java import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; @NoArgsConstructor @AllArgsConstructor public class Car { private String brand; private int year; } ``` 5. **@Data** 组合注解,相当于同时使用了 `@Getter`, `@Setter`, `@ToString`, `@EqualsAndHashCode` 和 `@RequiredArgsConstructor`。 ```java import lombok.Data; @Data public class Employee { private String id; private String department; } ``` 6. **@NonNull** 对字段或方法参数进行非空校验,当传入 null 时会抛出异常,默认情况下抛出 `NullPointerException`[^2]。 可以自定义异常类型,例如修改为 `IllegalArgumentException`,需在项目的根目录下创建 `lombok.config` 文件并设置相关内容: ``` lombok.nonNull.exceptionType = IllegalArgumentException ``` 7. **@Builder** 支持构建者模式,允许通过链式调用初始化复杂对象。 ```java import lombok.Builder; @Builder public class Address { private String street; private String city; } // 调用方式 Address address = Address.builder() .street("Main Street") .city("New York") .build(); ``` 8. **@Slf4j / @Log4j** 自动生成日志记录工具实例。 ```java import lombok.extern.slf4j.Slf4j; @Slf4j public class LoggerExample { public static void main(String[] args) { log.info("This is a test log."); } } ``` 9. **@Cleanup** 确保资源被自动关闭,类似于 try-with-resources 的作用。 ```java import lombok.Cleanup; public class FileReadExample { public static void main(String[] args) throws IOException { @Cleanup InputStream inputStream = new FileInputStream("file.txt"); byte[] buffer = new byte[1024]; while (inputStream.read(buffer) != -1); } } ``` --- #### 使用场景举例 假设有一个简单的实体类 `Person`,我们可以利用 Lombok 来大幅减少冗余代码: ```java import lombok.*; @Data @NoArgsConstructor @AllArgsConstructor public class Person { private String firstName; private String lastName; private int age; } ``` 以上代码实现了以下功能: - 自动生成所有的 getter 和 setter 方法; - 自动生成默认构造函数和全参数构造函数; - 实现了 `toString()`, `equals()`, 和 `hashCode()` 方法。 --- #### 注意事项 尽管 Lombok 极大地提高了开发效率,但在实际应用中有几点需要注意: - **IDE 支持**:必须正确安装 Lombok 插件,否则可能会遇到编译错误。 - **调试困难**:由于 Lombok 动态生成代码,有时可能导致调试过程不够直观。 - **团队协作**:所有成员都需要熟悉 Lombok 并保持一致的使用习惯。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值