Жизненный цикл бина, BeanPostProcessor, @PostConstruct

  Рет қаралды 8,175

deadlocksOfDeadBlocks

deadlocksOfDeadBlocks

Күн бұрын

Пікірлер: 35
@I.Karabadjak
@I.Karabadjak 5 жыл бұрын
Достаточно детально, практично и наглядно. Не смотря на то, что описываются не самые простые и базовые понятия, все понятно. Спасибо вам, пишите еще видео!
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 5 жыл бұрын
Спасибо! Скоро будут новые)
@89568756867835678
@89568756867835678 Жыл бұрын
вай спасибо тебе добрый человек за такое хорошее объяснение!!!☕
@dtts77
@dtts77 3 жыл бұрын
Ахаха, с рисунка выпал, сразу видно, что человек реально шарит (сам такими каракулями раньше объяснял :D ). Сам урок - топовый, удачи во всем!
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 3 жыл бұрын
Ахахах - я сам со своих рисунков периодически ловлю кринж :D Спасибо !
@АлександрЯковенко-п5ш
@АлександрЯковенко-п5ш 4 жыл бұрын
Круто делаешь! Спасибо за труд)
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 4 жыл бұрын
Спасибо!)
@olegeek
@olegeek 5 жыл бұрын
Супер!! :) Очень полезное и нужно дело делаешь!
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 5 жыл бұрын
Спасибо большое!)
@BackstageNomad
@BackstageNomad 2 жыл бұрын
все круто, после потрошителя самое то
@lindx2533
@lindx2533 3 жыл бұрын
10:56 стоит уточнить что PostConstruct лежит в javax. javax.annotation javax.annotation-api 1.3.2
@УмарКаригов
@УмарКаригов Жыл бұрын
Спасибо
@АндрейСкворцов-з6ш
@АндрейСкворцов-з6ш 3 жыл бұрын
оочень круто!
@fife3366
@fife3366 3 жыл бұрын
Видос просто топ, спасибо!
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 3 жыл бұрын
Рад, что видос пригодился ;]
@Михаил-я7ь1н
@Михаил-я7ь1н 2 жыл бұрын
очень полезно
@volodymyrkhoma9917
@volodymyrkhoma9917 5 жыл бұрын
Очередной полезный урок. Спасибо! Кстати, есть ли необходимость возвращать свойство Accesible в его первоначальное значение?
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 5 жыл бұрын
Спасибо Вам, за приятные слова) Поле само по себе остается приватным, оно становится публичным лишь для переменной Field. Насколько я знаю в этом необходимости нет
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 5 жыл бұрын
В качестве домашнего задания можете написать аналогичный примеры для xml и попробовать ответить на вопрос: Как работает autowired и AutowiredAnnotationBeanPostProcessor, если у нас единственный конструктор с аннотацией autowired над ним (для этого можно покопаться в исходниках спринга - даже если не найдете ответа - наверняка узнаете что-то новое о спринге)
@jispainsooner2825
@jispainsooner2825 4 жыл бұрын
Если единственный конструктор, то @Autowired можно не указывать(над конструктором).
@antonkl858
@antonkl858 4 жыл бұрын
Интересно, спасибо. Только не понял, где должен быть BeanDefinition
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 4 жыл бұрын
Спасибо! Напишите на какой минуте непонятны мои объяснения - и я постараюсь ответить)
@antonkl858
@antonkl858 4 жыл бұрын
@@deadlocksofdeadblocks7225 Я не нашел на видео где и как работает BeanDefinition. Вы его видимо тут проигнорировали. Возможно он не так важен в данном контексте?
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 4 жыл бұрын
@@antonkl858 Если мне не изменяет память - я хотел сделать вторую часть урока "Как Spring работает с аннотациями, создаем свой контекст (часть 1)" - где уже детальнее хотел рассказать как работает спринг (про BeanDefinition, фабрики и тд) но руки не дошли... Думаю в будущем восполню этот пробел Вот хорошая статья на хабре, которая, возможно, может вам помочь habr.com/ru/post/222579/
@antonkl858
@antonkl858 4 жыл бұрын
@@deadlocksofdeadblocks7225 thx
@caffeinejavacode1475
@caffeinejavacode1475 3 жыл бұрын
Можем ли мы вместо метода init написать обычный метод?
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 3 жыл бұрын
Не совсем понял вопрос) Если вы имеете ввиду название - то название у метода может быть любое, не обязательно "init")
@caffeinejavacode1475
@caffeinejavacode1475 3 жыл бұрын
@@deadlocksofdeadblocks7225 я не пойму в каких реальных случаях можно его использовать, не простo sout а реальный кейс, не могу найти пример, а на собесе спрашивают
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 3 жыл бұрын
​@@caffeinejavacode1475 Честно говоря примеров может быть масса - условно говоря - это зависит от архитектуры класса/проекта. Например, логирование: public class Foo { @Inject Logger LOG; @PostConstruct public void fooInit(){ LOG.info("This will be printed; LOG has already been injected"); } public Foo() { LOG.info("This will NOT be printed, LOG is still null"); // NullPointerException will be thrown here } } Если вызвать метод логирования в конструкторе - будет NPE. Если вызвать логирование в PostConstruct - все будет ок, потому что бин LOG заинжектится уже к этому моменту. На серверах часто пишут логирование - чтобы отслеживать ошибки/ворнинги. Вот второй пример - когда мы хотим добавить юзеров по дефолту: @Component public class DbInit { @Autowired private UserRepository userRepository; @PostConstruct private void postConstruct() { User admin = new User("admin", "admin password"); User normalUser = new User("user", "user password"); userRepository.save(admin, normalUser); } } Еще например можно отрывать соединение с базой (ее бин инжектится) Но опять же - вариантов использования может быть немало) Мой совет - дполнительно к моим словам посмотрите реальные проекты на гитхабе в которых она используется)
@s.portowyi15
@s.portowyi15 3 жыл бұрын
6:56 над конструктором @Autowired можно и не ставить.
@dusheslov2700
@dusheslov2700 3 жыл бұрын
Чювак, спасибо за уроки но в этом ты сильно тупишь) ты в конструкторе пытаешься воспользоваться не инициализированными полями и spring тут не причём)) я уверен ты и сам понимаешь свой затуп)))))))))))))))))))))))))))))))))))))))))))))))))
@deadlocksofdeadblocks7225
@deadlocksofdeadblocks7225 3 жыл бұрын
Напиши таймкод
@dusheslov2700
@dusheslov2700 3 жыл бұрын
@@deadlocksofdeadblocks7225 забей, ты дальше говоришь что так работать не будет но это было логично что не будет))
Spring Scope Prototype, Singleton
40:03
deadlocksOfDeadBlocks
Рет қаралды 1,4 М.
World’s strongest WOMAN vs regular GIRLS
00:56
A4
Рет қаралды 41 МЛН
СОБАКА ВЕРНУЛА ТАБАЛАПКИ😱#shorts
00:25
INNA SERG
Рет қаралды 3,8 МЛН
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 2,5 МЛН
Кекс с двумя М.-это прекрасно!
1:03
Счастливая Разведенка
Рет қаралды 913 М.
Spring @Configuration и @Component  одно и тоже? Или нет?
17:00
deadlocksOfDeadBlocks
Рет қаралды 3,1 М.
Spring Framework. Жизненный цикл
19:10
PavelVil
Рет қаралды 7 М.
Никита Летов - Используем @Transactional like a Pro
1:16:31
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 57 М.
Транзакции - Spring Framework в деталях
1:20:21
Уголок сельского джависта
Рет қаралды 27 М.
Евгений Борисов - Spring-потрошитель, часть 1
1:04:27
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 525 М.
World’s strongest WOMAN vs regular GIRLS
00:56
A4
Рет қаралды 41 МЛН