Привет друзья,
Один из моментов, которые неоднократно звучат в отношении Java, заключается в том, что мы должны написать много
код в виде сеттеров и геттеров для наших простых классов POJO, что излишне увеличивает
длина нашего кода.
Чтобы решить эту проблему, существует проект с открытым исходным кодом под названием Project Lombok, который решает эту проблему
позволяя вам просто написать несколько аннотаций, и он будет генерировать геттеры и сеттеры в .class, который
генерируются из файлов Java.

Так…
В этом кратком руководстве мы увидим, как мы можем использовать библиотеку Lombok, чтобы избавиться от сеттеров и геттеров, которые
нам нужно писать в наших классах POJO только со свойствами и без логики.
Чтобы понять, как lombok помогает нам, мы разделим этот пост на две части:
— Создать POJO без Lombok и добавить сеттеры геттеры вручную
— Создайте POJO и используйте библиотеку Lombok для добавления установщиков геттеров
Создать POJO без Lombok и добавить сеттеры геттеры вручную
Давайте создадим класс для Employee с несколькими свойствами, как показано ниже, без Lombok и назовем его «EmployeeWithoutLombok»:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
package com.blogspot.javasolutionsguide.model;/** * @author JavaSolutionsGuide * */public class EmployeeWithoutLombok { private int id; private String firstName; private String lastName; private int age; private String department; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; }} |
Как мы видим выше, мы должны написать сеттеры и геттеры для всех свойств.
Теперь, чтобы протестировать этот класс, давайте напишем тестовый класс с именем «TestEmployeeWithoutLombok».
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package com.blogspot.javasolutionsguide.lombokTest;import com.blogspot.javasolutionsguide.model.EmployeeWithoutLombok;/** * @author JavaSolutionsGuide * */public class TestEmployeeWithoutLombok { /** * * @param args * */ public static void main(String[] args) { //Test EmployeeWithoutLombok EmployeeWithoutLombok employeeWithoutLombok = new EmployeeWithoutLombok(); employeeWithoutLombok.setFirstName("Gaurav"); employeeWithoutLombok.setLastName("Bhardwaj"); System.out.println("Employee First Name:"+employeeWithoutLombok.getFirstName() + "\n" + "Employee Last Name:"+employeeWithoutLombok.getLastName()); }} |
Выход :
Имя сотрудника: Гаурав
Фамилия сотрудника: Bhardwaj
Итак, здесь мы в основном используем сеттеры и геттеры, которые мы написали сами в
Класс EmployeeWithoutLombok.
Создайте POJO и используйте библиотеку Lombok для добавления установщиков геттеров
Чтобы использовать Ломбок, нам необходимо:
— Добавьте зависимость Lombok в наш pom.xml
— Установите ломбок в нашем затмении
— Добавьте аннотацию @Getters, @Setters в наш POJO
— Создать тестовый класс для тестирования сеттеров и геттеров
Добавьте зависимость Lombok в наш pom.xml
давайте сначала добавим зависимость Lombok в наш maven POM.xml (см. выделенную часть ниже в XML).
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.blogspot.javasolutionsguide</groupId> <artifactId>lombakTest</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>lombakTest</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.4</version> <scope>provided</scope> </dependency> </dependencies></project> |
Установите ломбок в нашем затмении
Ломбок jar поставляется с установщиком. Нам просто нужно перейти в папку, где у нас есть lombok jar и запустить
банку с помощью команды ниже.
java -jar lombok-1.18.4.jar

Как только мы выполним указанную выше команду, lombok обнаружит все IDE на нашей машине, как у меня
затмение:

Нажмите «Установить / обновить», и он установит Lombok в Eclipse.
Мы можем дважды проверить, включен ли наш Eclipse в Lombok, перейдя в раздел About Eclipse и проверив
«Lombok v1.18.4« Завистливая хорька »установлена. https://projectlombok.org/»

Добавьте аннотацию @Getters, @Setters в наш POJO
Теперь давайте перепишем наш POJO с аннотациями Lombok:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package com.blogspot.javasolutionsguide.model;import lombok.AllArgsConstructor;import lombok.Getter;import lombok.NoArgsConstructor;import lombok.Setter;import lombok.ToString;/** * @author JavaSolutionsGuide * */@Getter@Setterpublic class EmployeeWithLombok { private int id; private String firstName; private String lastName; private int age; private String department;} |
Как видите, мы добавили аннотации @Getter и @Setter поверх нашего класса POJO, который будет
убедитесь, что Lombok добавит сеттеры и геттеры в файл .class.
Создать тестовый класс для тестирования сеттеров и геттеров
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package com.blogspot.javasolutionsguide.lombokTest;import com.blogspot.javasolutionsguide.model.EmployeeWithLombok;/** * Main class to test Lombok. * */public class TestEmployeeWithLombok { public static void main( String[] args ) { //Test EmployeeWithLombok EmployeeWithLombok employeeWithLombok = new EmployeeWithLombok(); employeeWithLombok.setFirstName("Gaurav"); employeeWithLombok.setLastName("Bhardwaj"); System.out.println("Employee First Name:"+employeeWithLombok.getFirstName() + "\n" + "Employee Last name:"+employeeWithLombok.getLastName()); }}Output :Employee First Name:GauravEmployee Last name:Bhardwaj |
Резюме
Итак, в этом уроке мы узнали, как мы можем использовать библиотеку Lombok для генерации сеттеров и геттеров, что приводит к
в более чистый код.
Пожалуйста, не стесняйтесь комментировать, Вопросы или делиться ими с кем-то, кого вы считаете полезным.
|
Опубликовано на Java Code Geeks с разрешения Гаурава Бхардваджа, партнера нашей программы JCG . Смотрите оригинальную статью здесь: Как использовать Lombok для удаления шаблонных сеттеров-геттеров в Java Мнения, высказанные участниками Java Code Geeks, являются их собственными. |