📼 video-record

Homework

Brutal and true Spring 🧔🏻

Учимся понимать, что там этот ваш Spring делает, отличать аннотации взглядом и компилировать в голове Java и Spring код. На этой и следующей паре мы будем скальпелем вскрывать Spring, лезть внутрь, даже если нам не рады, ахаха

IoC / DI

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

https://fs-thb01.getcourse.ru/fileservice/file/thumbnail/h/43106f9573c603a0735968e66b4244f6.jpg/s/1200x/a/12913/sc/428

Inversion of Control - принцип, который обеспечивает максимальную независимость компонентов, этот принцип обычно реализует нечто внешнее, то есть фреймворк. То есть мы отдаём управление всем Spring и он сам вызывает в нужные моменты методы, обращается к своим классам и к вашим.

То есть, раньше управляли мы, теперь управляют нами - именно об этом говорит наш принцип IoC. Звучит неприятно, но вспомним про "максимальную независимость компонентов", то есть Spring устроен так, что вы, к примеру, можете гладко заменить одну базу данных другой в одном месте одной строчкой - то есть вы достигаете огромной гибкости.