Привет друзья,
Один из моментов, которые неоднократно звучат в отношении 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 @Setter public 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:Gaurav Employee Last name:Bhardwaj |
Резюме
Итак, в этом уроке мы узнали, как мы можем использовать библиотеку Lombok для генерации сеттеров и геттеров, что приводит к
в более чистый код.
Пожалуйста, не стесняйтесь комментировать, Вопросы или делиться ими с кем-то, кого вы считаете полезным.
Опубликовано на Java Code Geeks с разрешения Гаурава Бхардваджа, партнера нашей программы JCG . Смотрите оригинальную статью здесь: Как использовать Lombok для удаления шаблонных сеттеров-геттеров в Java Мнения, высказанные участниками Java Code Geeks, являются их собственными. |