Java Tools: Project Lombok - пишем меньше кода

Sdílet
Vložit
  • čas přidán 21. 08. 2024
  • Project Lombok для Java - библиотека, позволяющая писать меньше кода.
    Ссылка на Project Lombok:
    projectlombok....
    Java на фоне многих современных языков программирования выглядит достаточно многословным ввиду особенностей своего синтаксиса и принятых соглашений. При разработке enterprise приложений на шаблонный код приходится достаточно большой процент кода: геттеры-сеттеры, конструкторы, описание типов переменных... Многие программисты оказываются увлечены менее многословными Groovy, Kotlin, Ceylon и прочими языками на JVM. Но часто невозможно просто перевести приложение на несколько сотен тысяч сток на другой язык, а писать меньше кода хочется.
    Для этих целей была создана библиотека Lombok - предоставляя простые и понятные аннотации, она позволяет избежать такой боли как поддержание актуальности POJO (java beans), создание builders и даже пробрасывание Checked Exceptions
    Для добавления зависимости на lombok в Spring Boot приложение нужно добавить следующую зависимость:
    gist.github.co...
    Ссылка на плейлист создания Sweater Application:
    • Spring Boot: делаем пр...
    Ссылка на код Sweater Application:
    github.com/dru...
    ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
    ➡ Твиттер: / letscodedru
    ➡ Чат в Discord: / discord
    ➡ Группа Вконтакте: letscod...
    ➡ Канал в Telegram: t.me/letsCode_dru
    ➡ Чат в Telegram: t.me/joinchat/...
    ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
    Поддержать проект:
    ➡ Patreon / letscodedru
    ➡ Яндекс.Деньги money.yandex.r...
    ➡ PayPal paypal.me/letscodedru
    ➡ Qiwi qiwi.me/letscode
    ➡ WebMoney/BitCoin funding.webmon...
    ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
    ➡ Ссылка на канал: / @letscodedru
    ➡ Ссылка на Яндекс.Дзен: zen.yandex.ru/...

Komentáře • 60

  • @leshabey
    @leshabey Před 6 lety +31

    Всегда считал, что ломбок только умеет геттеры и сеттеры генерировать. Спасибо , что расширили мой кругозор

  • @artem2308
    @artem2308 Před 5 lety +15

    Фраза "Незабывайте перезапускать прил.., та на..ер это комуто надо" сделала мой день. На самом деле ролик полезный

  • @MrShalimski
    @MrShalimski Před 6 lety +34

    Давай больше неудачных дублей в конце! Спасибо за урок.

    • @letsCodeDru
      @letsCodeDru  Před 6 lety +7

      Я только более-менее забавные оставляю)

  • @victormog
    @victormog Před 6 lety +6

    Сам начал недавно использовать Lombok - может не сильно необходимая, но полезная и простая в использовании вещь, делающая код более наглядным, позволяя избавиться от ненужного однотипного кода. Рекомендую!

  • @dimlo
    @dimlo Před 6 lety +10

    Хорошая подача материала, здорово скомпоновано видео (без пауз и т.п.). Понравилось, подписался)

  • @GrishaObrazcovV
    @GrishaObrazcovV Před 5 lety +3

    Очень интересная библиотека. Не знал о ней. Спасибо!

  • @elenafridman7294
    @elenafridman7294 Před 5 lety +1

    Понравилось видео! Отличный звук и чистая речь.

  • @alexeygudkov637
    @alexeygudkov637 Před 6 lety +2

    Спасибо! Очень полезно! Особенно убеждать коллег использовать lombok.

  • @dmitrelkin9256
    @dmitrelkin9256 Před 3 lety

    Автор монстр, пришлось смотреть в замедлении т.к. не успевал полностью осознавать что он говорит. Все очень грамотно и четко, только чуть бы помедленней ))

  • @user-ih7yr2sj5y
    @user-ih7yr2sj5y Před 4 lety

    Самые качественные видео на эту тему, /и в рунете, и на англ/ Крутой
    подход, спасибо автору. Следовал видео и получилось сделать интересный
    проект, который любопытно "докручивать" самому. Советы автора помогают
    не утонуть в деталях и не потерять мотивацию. Спасибо ребятам в
    комментах - если вы напоролись на ошибку, решения находил здесь же.
    Успехов! Хватит читать комменты, идите кодить)

  • @liudmilakachurina9566
    @liudmilakachurina9566 Před 6 lety +2

    Спасибо за отличное ревью, поможет мне просветить коллег)

  • @bezdna88
    @bezdna88 Před 5 lety +2

    спасибо за крутой контент в каждом видео)

  • @createdrop1725
    @createdrop1725 Před 4 lety

    спасибо большое, у вас отлично получается делать легкие, но информативные и практичные обзоры.

  • @dodgechallenger5606
    @dodgechallenger5606 Před 2 lety

    Очень хорошо рассказал, такого бы в инете побольше ))

  • @artemy99
    @artemy99 Před 2 lety

    Как всегда - объяснения на высоте)

  • @avpmk
    @avpmk Před 5 lety

    Круто. Автор - красавчик, ни разу не ошибся.

  • @user-ie3dc3nc8l
    @user-ie3dc3nc8l Před rokem

    Замечательно) спасибо!

  • @flint2159
    @flint2159 Před rokem +1

    Елки из аннотаций динозавра ява 🗿

  • @victormog
    @victormog Před 6 lety +5

    Раз автор приветствует пожелания, - был бы рад увидеть пару-другую роликов по _Spring Web Flow_
    Возможно, в дополнение к уже разработанным на этом канале проектам...
    :-)

  • @patron.monster
    @patron.monster Před 5 měsíci

    Концовка - сделала мой день))))
    Ахахахаха 🤣🤣🤣

  • @iryna6389
    @iryna6389 Před 5 lety +2

    Класс! Спасибо!

  • @ivsergey5150
    @ivsergey5150 Před 5 lety

    Супер, мне как раз не хватало объяснений "по русски"

  • @D.P._
    @D.P._ Před 5 lety

    Спасибо! Отличный и лаконичный материал!

  • @Denis-Orlov
    @Denis-Orlov Před 4 lety +2

    лекция супер, но вопрос - если все в итоге компилируется в тот же самый байт код - какой смысл этой магии - запутать программистов? как новичку осваивать такой код, в котором "нет ничего"(стоит @Data), но все как-то работает и IDE не ругается? Сгенерировать конструктор и аксессоры средой займет минутой больше времени чем вставить аннотацию, но наглядность - выше в 10 раз. Собственный код превращаем в черный ящик, коллеги, а точнее - в ниндзя-код

  • @ivanstrelka3448
    @ivanstrelka3448 Před 2 lety

    Спасибо! Кайф

  • @user-ni5nt2bs8j
    @user-ni5nt2bs8j Před 3 lety

    Очень полезное видео

  • @katehil5060
    @katehil5060 Před 5 lety

    Большое спасибо!

  • @user-ez6lp1zc9v
    @user-ez6lp1zc9v Před 6 lety +1

    Спасибо за ролик! Планируете ли рассказывать про библиотеку маппинга MapStruct?

  • @anjelomanoranjan
    @anjelomanoranjan Před 9 měsíci

    👍👍

  • @victormog
    @victormog Před 6 lety +3

    По-больше акцентов на шорткаты IntelliJ IDEA, по-меньше слэнга (стал уже простые слова заменять! :-))

    • @letsCodeDru
      @letsCodeDru  Před 6 lety +1

      Сорян, постараюсь исправиться. А какие например слова? 😁

    • @victormog
      @victormog Před 6 lety +1

      Да там местами уже полностью английский pro!
      :-))))

    • @letsCodeDru
      @letsCodeDru  Před 6 lety +1

      Oops))) проф деформация)

    • @leshabey
      @leshabey Před 6 lety +1

      К сожалению это проф деформация) многие программисты разговаривают так, что не поймёшь.
      Для автора: если употребляется слэнг, то пишите внизу что это значит)))

  • @sbf44777
    @sbf44777 Před rokem

    спасибо

  • @romanmotovilov129
    @romanmotovilov129 Před 4 lety +1

    Андрей, скажите пожалуйста какой дистрибутив линукса вы используете и если можно, то почему отдаёте ему преимущество? KDE вижу вы уже давно используете.

    • @letsCodeDru
      @letsCodeDru  Před 4 lety +1

      Использую то, что легче всего настраивается под мои требования. Сейчас вот пробую на elementary os мигрировать

    • @user-ey3kx3oi4j
      @user-ey3kx3oi4j Před 3 lety

      @@letsCodeDru Андрей, как с Elementary OS, получилось мигрировать? Я вот думаю с винды на Arch перейти. Программирую на java.

  • @EEEppt
    @EEEppt Před rokem

    Интересно ломбок подсмотрели у котлина фичи или котлин писали с учетом фишек ломбока? )))

  • @hyperborean72
    @hyperborean72 Před 6 lety +1

    1. Как этот суперкраткий @Cleanup обращается с исключениями, выбрасываемыми в при открытии AutoCloseable ресурса, работе с ним либо его закрытии?
    Почему это предпочтительнее, чем try-with-resources?
    2. Из чего состоит "простыня", которую может заменить @Builder?
    Заменяет ли он собой сеттеры, геттеры + конструкторы по всем полям?
    Спасибо

    • @letsCodeDru
      @letsCodeDru  Před 6 lety +1

      1. никак. это всё еще забота пользователя
      2. создаёт объект, помогающий заполнить бин с минимальным количеством шаблонного кода. Ничего не заменяет

  • @user-pr5jo2ly6y
    @user-pr5jo2ly6y Před 6 lety +1

    А что если предложу сделать видео по Scala?)) Например, простой веб сервер c использованием Akka HTTP. Просто, я пробовал на днях ради интереса написать и столкнулся с недостатком информации либо с устаревшей информацией. Ну и в холодный пот бросало от таких слов как аппликативные функторы, моноиды и прочее))

    • @letsCodeDru
      @letsCodeDru  Před 6 lety +1

      Не-не-не, скалу я даже рассматривать не буду. Мне хватило с ней опыта

  • @user-rs6lw5vy4e
    @user-rs6lw5vy4e Před 5 lety

    спасибо!

  • @lisafox9026
    @lisafox9026 Před 4 lety +1

    как инициализировать примитивные типы в конструкторе с ломбок? там warning

  • @1pavka
    @1pavka Před 4 lety

    Штука прикольная. Вечный вопрос использования плагинов - дальнейшая поддержка неавтором. Накладывает обязательство знать эти плагины. Юзается только там, где это фирмовый стандарт работы. Как по мне лучше кодогенераторы использовать на стороне, чтобы в итоге был нативный ява код. Плюс проблемы при тестировании и обработки кода всякими исследователями на баги. А интересно, тот же Maven при сборке в баги ничего не пишет?

  • @user-uc4yd8sw4k
    @user-uc4yd8sw4k Před 5 lety +1

    А вот я забываю перезапускать приложение

  • @unoduetrechiki
    @unoduetrechiki Před 3 lety

    Какое ваше мнение по использовнию Ломбока в Хибернейт? Вроде как может быть опасно

  • @lisafox9026
    @lisafox9026 Před 4 lety +1

    eclipse тормозит с ломбок

  • @kotnaoborot7422
    @kotnaoborot7422 Před 6 lety

    me gusta!

  • @CynepnaxaTube
    @CynepnaxaTube Před 2 lety

    Выкинь каку, используй возможности генерации кода самой идеи, даже аннотации писать не надо, только хоткеи нажимать.

  • @dmitry-utkin
    @dmitry-utkin Před 4 lety

    А разве конструкция try(InputStream is = ...) { } //try with resources
    Не берет на себя закрытие потока?

    • @letsCodeDru
      @letsCodeDru  Před 4 lety

      Есть такое. Но ээто работает не во всех старых версиях java. А в реальных проектах бывает и 6 версия :(

  • @kusyka911
    @kusyka911 Před 5 lety

    ну анотации гетеров, сетеров, пустого конструктора и конструктора со всеми филдами не помешало бы увидеть на уровне непосредственно JDK, а остальное не так уж и не обзодимо

  • @oleksa537
    @oleksa537 Před 2 lety

    ява, хибернейт, мутабельный... Мои уши заложило.

  • @igorartemchuk311
    @igorartemchuk311 Před 4 lety

    Да нахер кому это надо))))

  • @ayrat11
    @ayrat11 Před 3 lety

    Не всё так однозначно с ломбоком. Можно нарваться на большие проблемы czcams.com/video/tkoFx3fDwz8/video.html

  • @D.P._
    @D.P._ Před 5 lety

    Спасибо! Отличный и лаконичный материал!