Когда мы описываем модель данных в java-классе, это выглядит примерно так:
============================
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
============================
Сначала указали переменную, а потом идут геттеры и сеттеры для нее. Когда переменных много, java-класс раздувает.
Но если подключить Lombok, то этой проблемы не будет и ровно тот же самый код будет выглядеть так
============================
private String name;
============================
Вместо 9 строк одна. Неплохо ツ
Все, что надо для подключения — включить его в зависимости. В случае использования Maven надо указать проект в pom.xml:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>0.11.0</version>
<scope>provided</scope>
</dependency>
А потом в самом классе указываем, какой функционал нам нужен. Например, я удаляля лишние геттеры и сеттеры, их и подключала:
import lombok.Getter;
import lombok.Setter;
+ на самом классе ставим аннотации
@Getter
@Setter
Тогда они применятся ко всем полям, в него входящим!
См также:
Проект Lombok, или Объявляем войну бойлерплейту — статья на Хабре про Lombok
Посмотреть пример можно в проекте Folks, ревизия 7:bdc5f8f0a899 — https://bitbucket.org/testbasecode/folks/commits/bdc5f8f0a899fdf6477d1269775fe154466f29db
Выкинутый код:
Правда, если вы прошлись по ссылке выше, то заметили, что я дважды подключила lombok в зависимостях. Вот что бывает при коммите без ревью кода ツ Уже исправлено!
А еще в том коммите нет аннотаций на самом классе и на самом деле тот код не работал... Это тоже исправлено позднее)))
А изменения делались по задаче https://testbase.atlassian.net/browse/FOLKS-6 (данные для входа см тут)
Вот, как-то так ツ
============================
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
============================
Сначала указали переменную, а потом идут геттеры и сеттеры для нее. Когда переменных много, java-класс раздувает.
Раздутый java-класс |
Но если подключить Lombok, то этой проблемы не будет и ровно тот же самый код будет выглядеть так
============================
private String name;
============================
Вместо 9 строк одна. Неплохо ツ
Исправили! |
Все, что надо для подключения — включить его в зависимости. В случае использования Maven надо указать проект в pom.xml:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>0.11.0</version>
<scope>provided</scope>
</dependency>
А потом в самом классе указываем, какой функционал нам нужен. Например, я удаляля лишние геттеры и сеттеры, их и подключала:
import lombok.Getter;
import lombok.Setter;
+ на самом классе ставим аннотации
@Getter
@Setter
Тогда они применятся ко всем полям, в него входящим!
См также:
Проект Lombok, или Объявляем войну бойлерплейту — статья на Хабре про Lombok
Пример
Посмотреть пример можно в проекте Folks, ревизия 7:bdc5f8f0a899 — https://bitbucket.org/testbasecode/folks/commits/bdc5f8f0a899fdf6477d1269775fe154466f29db
Выкинутый код:
Правда, если вы прошлись по ссылке выше, то заметили, что я дважды подключила lombok в зависимостях. Вот что бывает при коммите без ревью кода ツ Уже исправлено!
А еще в том коммите нет аннотаций на самом классе и на самом деле тот код не работал... Это тоже исправлено позднее)))
А изменения делались по задаче https://testbase.atlassian.net/browse/FOLKS-6 (данные для входа см тут)
Вот, как-то так ツ
Не нужно описывать модели данных в Java. Для этого есть схемы - xsd, jsonschema. Из них потом генерируются модели на любом нужном языке.
ОтветитьУдалитьТоже вариант :)
Удалить