Generics + Spring: Да прибудет с вами сила
|
|
Вторник, 18 Сентября 2018 г. 15:00
+ в цитатник
Однажды в одном далёком, далёком банке ...
Доброго времени суток, хабр. Сегодня наконец-то вновь дошли руки написать сюда. Но в отличие от предыдущих туториалов — статей сегодня хотелось бы поделиться своим опытом и показать мощь такого механизма как дженерики, который вместе с магией спринга становится ещё сильнее. Сразу хочу предупредить, что для понимания статьи нужно знать основы спринга и иметь представления о дженериках большие чем просто “Дженерики это, ну, то что в ArrayList в ковычках указываем”.
Эпизод 1:
Начнём с того, что на работе у меня стояла задача примерно таким образом: имелось большое количество денежных переводов с определенным количеством общих полей. Помимо этого каждому из переводов соответствовали классы — запросы для перевода из одного состояния в другое и перенаправления на другое апи. Соответственно были билдеры, которые и занимались преобразованием.
Проблему с общими полями я решил просто — наследованием. Таким образом у меня появились классы:
public class Transfer {
private TransferType transferType;
...
}
public enum TransferType {
INTERNAL, SWIFT, ...;
}
public class InternalTransfer extends Transfer {
...
}
public class BaseRequest {
...
}
public class InternalRequest extends BaseRequest {
...
}
...
Эпизод 2:
Дальше стояла проблема с контроллерами — у них у всех должны были быть одинаковые методы — checkTransfer, approveTransfer и тд. Вот тут то в первый, но не в последний раз мне пригодились дженерики: я сделал общий контроллер с нужными методами, и унаследовал от него остальные:
Читать дальше -> https://habr.com/post/423655/?utm_source=habrahabr&utm_medium=rss&utm_campaign=423655
Метки:
Программирование
java
java 8
generics
spring
spring boot
architecture
architecture design
design patterns
бизнес-логика
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-