Спасибо большое! Очень интересно, наглядно. Качество видео на высоте! Если можно, чуть больше оговорок, отсылающих к пониманию моментов, неочевидных для начинающих (типа меня). Например: В Spring Framework термин "Object provider" обычно связан с интерфейсом ObjectProvider. Этот интерфейс предоставляет способ получения бина из контекста приложения в ленивом режиме. Он может использоваться для получения бина в момент, когда он действительно необходим, что может быть полезно в определенных сценариях, таких как создание бинов с большим временем жизни или предотвращение циклических зависимостей.
Спасибо! Постараюсь получше передавать информацию для новичков=) Про 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); } }
Спасибо большое! Ещё просьба ( раз пошла такая пьянка): это здорово, что у спринга столько возможностей... но зачем? То есть не большое описание где и как это может пригодиться точно не помешало бы 🙏
Спринг нужен для облегчения разработки. Он обеспечивает более чистый код и повышает эффективность разработчика. Хочется написать контроллер? Достаточно просто поставить одну аннотацию, и ручка для клиента готова. Хочется защитить свое приложение? Просто прописываем несколько классов (а иногда даже хватает нескольких строчек в свойствах приложения), и у нас уже есть защищенное приложение. Хочется вычитать что-то из базы данных? Просто подключаем модуль, пишем интерфейс, и у нас уже есть возможность за 10 минут написать простой CRUD. Так можно продолжать очень долго, на самом деле =) В общем, спринг облегчает разработку, предоставляя разработчику всё необходимое для написания приложения.
Гипер информативно и красиво описано. Класс, автор - находка! Лайк, подписка. Но тиховато, слышимость возможна только на практически максимальных настройках громкости. Алишеву, Трегулову хватает 20%, Вам - только от 70-80%. Но стерео звучит качественно. Неужели замечательному автору не хватило знаний в звукозаписи или неважное оборудование подвело? Или не проверили звук записей?
Самая занудная тема Spring-а. Во фреймворках (не-Java), сервис-контейнер и жизненный цикл зависимостей описывается и устроен куда проще, чем в Spring-е. С 2015 года работаю со Spring, но когда заходит дело о жизненном цикле компонентов в Spring, мне аж спать хочется.
@@PavelVil , в 90% случаев подробное значение о внутреннем устройстве работы жизненного цикла компонентов сервис-контейнера Spring нигде на практике не пригождается, только если вы не собрались делать что-то нестандартное.
Годный контент
Спасибо за Ваш труд! Коммент в поддержку канала.
Прямо здорово!
интересно
Спасибо большое! Очень интересно, наглядно. Качество видео на высоте!
Если можно, чуть больше оговорок, отсылающих к пониманию моментов, неочевидных для начинающих (типа меня). Например:
В Spring Framework термин "Object provider" обычно связан с интерфейсом ObjectProvider. Этот интерфейс предоставляет способ получения бина из контекста приложения в ленивом режиме.
Он может использоваться для получения бина в момент, когда он действительно необходим, что может быть полезно в определенных сценариях, таких как создание бинов с большим временем жизни или предотвращение циклических зависимостей.
Спасибо! Постараюсь получше передавать информацию для новичков=)
Про 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);
}
}
Спасибо большое!
Ещё просьба ( раз пошла такая пьянка): это здорово, что у спринга столько возможностей... но зачем? То есть не большое описание где и как это может пригодиться точно не помешало бы 🙏
Спринг нужен для облегчения разработки. Он обеспечивает более чистый код и повышает эффективность разработчика.
Хочется написать контроллер? Достаточно просто поставить одну аннотацию, и ручка для клиента готова.
Хочется защитить свое приложение? Просто прописываем несколько классов (а иногда даже хватает нескольких строчек в свойствах приложения), и у нас уже есть защищенное приложение.
Хочется вычитать что-то из базы данных? Просто подключаем модуль, пишем интерфейс, и у нас уже есть возможность за 10 минут написать простой CRUD.
Так можно продолжать очень долго, на самом деле =)
В общем, спринг облегчает разработку, предоставляя разработчику всё необходимое для написания приложения.
Норм. Интересно. Понятно
Новые способы однако
Точно не хватает перврго сезона :) Не все догоняю
Можно попробовать посмотреть видео про постпроцессоры - th-cam.com/video/dG7pPuW4zaY/w-d-xo.html
Он дополняет видео про жизненный цикл
Гипер информативно и красиво описано. Класс, автор - находка! Лайк, подписка.
Но тиховато, слышимость возможна только на практически максимальных настройках громкости. Алишеву, Трегулову хватает 20%, Вам - только от 70-80%. Но стерео звучит качественно.
Неужели замечательному автору не хватило знаний в звукозаписи или неважное оборудование подвело? Или не проверили звук записей?
Да, я новичок в звукозаписи=) Еще учусь
С Новым Годом, Павел!!! Здоровья Вам, удачи и развития. Буду готовиться к внутреннему собесу по Вашему плейлисту.
С Уважением. Карен
5 бинпостпроцессоров из 5)
Самая занудная тема Spring-а. Во фреймворках (не-Java), сервис-контейнер и жизненный цикл зависимостей описывается и устроен куда проще, чем в Spring-е. С 2015 года работаю со Spring, но когда заходит дело о жизненном цикле компонентов в Spring, мне аж спать хочется.
А мне нравится эта тема=) Особенно если продебажить внутрянку - много всего увидеть можно. Но согласен, что некоторые вещи можно было сделать и проще
@@PavelVil , в 90% случаев подробное значение о внутреннем устройстве работы жизненного цикла компонентов сервис-контейнера Spring нигде на практике не пригождается, только если вы не собрались делать что-то нестандартное.
Да, так и есть=)