Евгений Борисов - Spring Puzzlers: второй сезон

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 พ.ย. 2024

ความคิดเห็น • 10

  • @devil208356
    @devil208356 3 ปีที่แล้ว

    Последние 5 минут доклада (про фабрику) я вообще не понял пока. В остальном - супер, спасибо большое за ваши доклады.

  • @DzmitryCybulka
    @DzmitryCybulka 3 ปีที่แล้ว

    Я правильно понимаю что в примере про Color в решении с Supplier это по сути просто такая фабрика объектов. При этом полученные колоры не будут "спринг-бинами" и аннотации над Color не будут работать. Т.е. запрашивать у контекста новый колор будет правильнее.

    • @funbiscuit
      @funbiscuit 3 ปีที่แล้ว +2

      Может неактуально, но другим полезно будет. Нет, не правильно понимаете. Они именно спринг бины и аннотации работают. Я тестил так. Создал отдельный класс CustomColor (обертка обычного Color) с методом @PostConstruct, в котором просто принтил color. И дальше в конфиге то же самое, только color() возвращал Color, завернутый в CustomColor и метод colorSupplier() возвращал Supplier. При работе PostConstruct отрабатывал при каждом создании вызове colorSupplier.get(), то есть создавался бин, т.к. Scope - prototype. Если убрать scope, то опять цвет везде будет один и тот же.
      Так происходит, потому что вызов методов, аннотированных @Bean перехватывается и они не работают как просто вызов методов.

  • @jinni96
    @jinni96 6 ปีที่แล้ว +3

    Отличное выступление! Редко такой качественный контент встретишь)
    Правда Спринг развивается. И немного инфа устаревает:( Как понимаю, с версии 4.3 ситуация с листами починена. List без проблем инжектится, хотя, если будут простые стринги, как в примере, Спринг все равно отдаст им предпочтенее. А в версии 3 действительно выбрасывалось IllegalArgExc, в 4-ке до 4.3 - уже NoSuchBeanDefExc

    • @al1as643
      @al1as643 5 ปีที่แล้ว

      Вроде наоборот заинжектит именно лист, если он будет, а уже только потом стринги.

    • @antonhen23
      @antonhen23 ปีที่แล้ว +1

      @@al1as643 Spring Boot 2.7.7 отдает предпочтение отдельным бинам, из которых сам строит лист. Если не находит ни одного отдельного бина, но присутствует бин с типом лист - заинжектится.

  • @НиколайТкачев-ъ6м
    @НиколайТкачев-ъ6м 5 ปีที่แล้ว

    Где первую часть посмотреть?

    • @cubuanic
      @cubuanic 4 ปีที่แล้ว

      Вероятно тут: th-cam.com/video/U8MtGYa04v8/w-d-xo.html

  • @Denis-Orlov
    @Denis-Orlov 5 ปีที่แล้ว +2

    удивительный пробел со стороны разрабов Spring, они пилят java конфиги, при этом beanDefinition не получает всей той же информации, что из xml конфигов или аннотированных классов(@Component),
    и нормально, никто не задумался о "целостности данных", о единой работе интерфейсов, нет имени класса и нет, "зачем вам это нужно..."

  • @murat-bekenov
    @murat-bekenov 8 ปีที่แล้ว +1

    Сразу пошел гуглить naya technologies