Spring Framework. Жизненный цикл

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ม.ค. 2025

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

  • @annj3150
    @annj3150 9 หลายเดือนก่อน +1

    Годный контент

  • @svetlanamazhaykina6918
    @svetlanamazhaykina6918 9 หลายเดือนก่อน +1

    Спасибо за Ваш труд! Коммент в поддержку канала.

  • @alexpan2463
    @alexpan2463 8 หลายเดือนก่อน

    Прямо здорово!

  • @asddfg-h9q
    @asddfg-h9q ปีที่แล้ว +1

    интересно

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

    Спасибо большое! Очень интересно, наглядно. Качество видео на высоте!
    Если можно, чуть больше оговорок, отсылающих к пониманию моментов, неочевидных для начинающих (типа меня). Например:
    В Spring Framework термин "Object provider" обычно связан с интерфейсом ObjectProvider. Этот интерфейс предоставляет способ получения бина из контекста приложения в ленивом режиме.
    Он может использоваться для получения бина в момент, когда он действительно необходим, что может быть полезно в определенных сценариях, таких как создание бинов с большим временем жизни или предотвращение циклических зависимостей.

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

      Спасибо! Постараюсь получше передавать информацию для новичков=)
      Про ObjectProvider: его можно представить просто как обычный фабричный метод или как supplier.
      Вот небольшой пример на Java, без спринга:
      class SimpleObjectProvider implements ObjectProvider {
      private final Supplier supplier;
      public SimpleObjectProvider(Supplier supplier) {
      this.supplier = supplier;
      }
      @Override
      public T getObject() {
      return supplier.get();
      }
      @Override
      public T getObject(Object... args) {
      return supplier.get();
      }
      }
      Здесь ObjectProvider - это просто интерфейс с двумя методами, которые мы реализуем в нашем SimpleObjectProvider.
      В итоге использовать его можно вот так:
      public class Car {
      private String model;
      public Car(String model) {
      this.model = model;
      }
      public String getModel() {
      return model;
      }
      public static void main(String[] args) {
      // Здесь мы используем наш ObjectProvider
      ObjectProvider carProvider = createCarProvider("Sedan");
      Car car = carProvider.getObject();
      System.out.println("Model: " + car.getModel());
      }
      // Создаем наш собственный ObjectProvider, используя стандартный функциональный интерфейс Supplier из Java
      private static ObjectProvider createCarProvider(String model) {
      Supplier carSupplier = () -> new Car(model);
      return new SimpleObjectProvider(carSupplier);
      }
      }

    • @obusis
      @obusis ปีที่แล้ว

      Спасибо большое!
      Ещё просьба ( раз пошла такая пьянка): это здорово, что у спринга столько возможностей... но зачем? То есть не большое описание где и как это может пригодиться точно не помешало бы 🙏

    • @PavelVil
      @PavelVil  ปีที่แล้ว

      Спринг нужен для облегчения разработки. Он обеспечивает более чистый код и повышает эффективность разработчика.
      Хочется написать контроллер? Достаточно просто поставить одну аннотацию, и ручка для клиента готова.
      Хочется защитить свое приложение? Просто прописываем несколько классов (а иногда даже хватает нескольких строчек в свойствах приложения), и у нас уже есть защищенное приложение.
      Хочется вычитать что-то из базы данных? Просто подключаем модуль, пишем интерфейс, и у нас уже есть возможность за 10 минут написать простой CRUD.
      Так можно продолжать очень долго, на самом деле =)
      В общем, спринг облегчает разработку, предоставляя разработчику всё необходимое для написания приложения.

  • @chenviy
    @chenviy 10 หลายเดือนก่อน +1

    Норм. Интересно. Понятно

  • @RasimAlimgukov
    @RasimAlimgukov 4 หลายเดือนก่อน

    Новые способы однако

  • @obusis
    @obusis ปีที่แล้ว

    Точно не хватает перврго сезона :) Не все догоняю

    • @PavelVil
      @PavelVil  ปีที่แล้ว

      Можно попробовать посмотреть видео про постпроцессоры - th-cam.com/video/dG7pPuW4zaY/w-d-xo.html
      Он дополняет видео про жизненный цикл

  • @Ren-z5m3t
    @Ren-z5m3t ปีที่แล้ว +1

    Гипер информативно и красиво описано. Класс, автор - находка! Лайк, подписка.
    Но тиховато, слышимость возможна только на практически максимальных настройках громкости. Алишеву, Трегулову хватает 20%, Вам - только от 70-80%. Но стерео звучит качественно.
    Неужели замечательному автору не хватило знаний в звукозаписи или неважное оборудование подвело? Или не проверили звук записей?

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

      Да, я новичок в звукозаписи=) Еще учусь

    • @Ren-z5m3t
      @Ren-z5m3t ปีที่แล้ว

      С Новым Годом, Павел!!! Здоровья Вам, удачи и развития. Буду готовиться к внутреннему собесу по Вашему плейлисту.
      С Уважением. Карен

  • @tusman4ik
    @tusman4ik 7 หลายเดือนก่อน

    5 бинпостпроцессоров из 5)

  • @renegat-rm
    @renegat-rm 11 หลายเดือนก่อน +3

    Самая занудная тема Spring-а. Во фреймворках (не-Java), сервис-контейнер и жизненный цикл зависимостей описывается и устроен куда проще, чем в Spring-е. С 2015 года работаю со Spring, но когда заходит дело о жизненном цикле компонентов в Spring, мне аж спать хочется.

    • @PavelVil
      @PavelVil  11 หลายเดือนก่อน

      А мне нравится эта тема=) Особенно если продебажить внутрянку - много всего увидеть можно. Но согласен, что некоторые вещи можно было сделать и проще

    • @renegat-rm
      @renegat-rm 11 หลายเดือนก่อน +1

      @@PavelVil , в 90% случаев подробное значение о внутреннем устройстве работы жизненного цикла компонентов сервис-контейнера Spring нигде на практике не пригождается, только если вы не собрались делать что-то нестандартное.

    • @PavelVil
      @PavelVil  11 หลายเดือนก่อน

      Да, так и есть=)