Съдържание
Вече след като преминах през всичките ми уроци по подготовка за Пролетната рамка, накрая ще разберем какво прави Пролет като такъв. Ако започнете да четете този урок и се загубите, препоръчвам ви да прочетете тези 4 урока в този ред:
- Java / Spring - Наследяване, полиморфизъм и инжектиране на зависимости
- Java / Spring - Наследяване, полиморфизъм и инжектиране на зависимости - Част 2
- Java / Spring - Програмиране на интерфейси
- Инверсия на контрол и инжектиране на зависимости в Java / Spring
Пролетта е контейнер с боб (Ще използвам тази дума, за да се позова на този тип структура в целия урок и тези, които следват), Bean е софтуерен компонент за многократна употреба. В Java, bean е обект, който съществува, за да изпълни определена функция и също е класът, към който принадлежи този обект. Фасулът в Java се създава от описания, които не са непременно част от основния код на приложението, тези описания обикновено се съдържат в XML файлове.
Когато използвате Spring, жизненият цикъл на всеки Bean е изцяло манипулиран от контейнера Spring, който е отговорен за създаването, управлението и унищожаването им от модел по подразбиране, който може да бъде намерен в XML файл, вътре в Java класа във формата Annotations или по същество всеки тип файл, който следва определен формат за неговата дефиниция.
По този начин концепцията за инверсия на управление означава, че Spring създава обектите и ги конфигурира да изпълняват определена функция (според модела по подразбиране) и след това ги доставя на основното приложение. По -късно Spring се грижи да ги унищожи или да ги използва повторно в по -напреднала точка в приложението. Той прави това, като използва определен модел на проектиране.
Дизайнът на фабричен тип се характеризира с това, че не е обвързан с връщане на определен клас обекти, а по -скоро с обект, който реализира интерфейс или наследява от определен клас. По този начин фабриката може да върне практически всичко, стига да може да „произведе“ конкретния обект. В случай на Spring, фабричният метод връща обект от тип Обект който по -късно се трансформира в типа обект, изискван от основното приложение.
По -конкретно, основното приложение извиква фабричния метод, за да му предостави конкретен обект, който не контролира, но принадлежи на Spring, така че да може да се използва без „поемане на отговорност“ за обекта. По този начин Spring винаги отговаря за жизнения цикъл на обекта ВИНАГИ.
Увеличете
Ето как Spring се справя с концепцията за инверсия на контрол и инжектиране на зависимост. По принцип вие създавате необходимите Beans в цялата си програма под формата на прости Java класове, с атрибути, getters и setter. След това създавате конфигурационен файл, който е отговорен за създаването на конкретни POJO (обикновени стари Java обекти) за използване в цялата програма и накрая оставяте Spring да се грижи за жизнения цикъл на всички тези обекти през времето.Тази структура е доста практична за провеждане на тестове в кода с „фалшиви“ обекти, тя също така служи за поддържане на активни услуги, които се извикват през мрежата, използване на аспекти и безброй други неща. На пролетната страница можете да прегледате всички проекти, произлезли от тази рамка. Надявам се да ви е било интересно, не забравяйте да оставите коментарите си. Ще се видим следващия път!Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка