Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Spring е рамка на Java, която използва контейнер за създаване и управление на различните компоненти на приложение. Контейнерът (често наричан контекст на приложението Spring) свързва различните компоненти в приложение, използвайки шаблона за проектиране на инжектиране на зависимости (DI). DI ви позволява да използвате обект в зависим клас, без да създавате нов негов екземпляр в зависимия клас.

Така че, вместо да позволява на всеки компонент да създава нови екземпляри на тези, на които разчита, контейнерът на Spring създава и поддържа екземпляр на всеки от компонентите, които хоства. След това този контейнер инжектира екземпляр на компонент във всички останали компоненти, които се нуждаят от него.

Проучване на основните характеристики на Spring

Spring framework има около 20 добре организирани модула, които играят неразделна роля в способността му да създава и управлява приложения. Въз основа на основните характеристики на тези модули можете да ги групирате в пет категории:

instagram viewer

  • Контейнер за сърцевина
  • Достъп/интегриране на данни
  • Мрежа
  • Аспектно ориентирано програмиране и инструменти
  • Тест

Пружинен контейнер

Spring използва контейнер за създаване и управление на различни компоненти (които нарича beans) на приложение. Контейнерът е достъпен чрез интерфейса ApplicationContext на Spring, който ви позволява да създавате, конфигурирате и сглобявате обекти (или beans). Контейнерът на Spring може да изпълнява функцията си благодарение на помощта на метаданни за конфигурация.

Тези конфигурационни метаданни могат да имат няколко различни форми, но типичната им форма е XML. В допълнение към бобовете, контейнерът на Spring също се състои от ядро, контекст и модул за изразяване.

Пролетен достъп до данни/интеграция

Аспектът за достъп/интегриране на данни на пролетната рамка се състои от няколко подмодула: JDBC, ORM, OXM, JMS и транзакция. Тези модули работят заедно, за да управляват всички данни, които вашето приложение използва.

Пролетна мрежа

Уеб функцията на приложението Spring осигурява уеб-ориентирана интеграция за вашето приложение. В допълнение към уеб-ориентираната интеграция, Spring предоставя уеб сървлет модул. Модулът за уеб сървлети е отговорен за Spring изпълнение на модел-изглед-контролер (MVC)..

Пролетно аспектно-ориентирано програмиране (AOP)

AOP рамката на Spring е друг от нейните ключови компоненти. Въпреки че AOP рамката не е от решаващо значение за функцията на контейнера на Spring, тя допълва контейнера, като е способно междинно решение. Една от ключовите характеристики на рамката на AOP е, че тя предоставя декларативни корпоративни услуги за вашето приложение, а именно управление на транзакции с декларации.

Декларативното управление на транзакции е желателен подход към разработката на софтуер, тъй като има минимално въздействие върху кода на приложението.

Пролетен тест

Пролетта отдава голямо значение на тестването на приложенията. Неговият тестов модул поддържа интеграционно тестване и модулно тестване с помощта на JUnit или TestNG.

Създаване на пролетно приложение

Има няколко начина за създаване на шаблон за ново Spring приложение. Различните подходи включват:

  • От уеб приложението (или Spring Initializr) на официалния уебсайт на Spring.
  • Ръчно създаване на структура на директория на проекта и спецификации за изграждане.
  • С Spring Tool Suite.
  • От командния ред с интерфейса на командния ред на Spring Boot.
  • С Eclipse IDE.
  • С IntelliJ IDEA IDE.

Най-популярният подход е Spring Initializr:

Както можете да видите от изображението по-горе, ще трябва да вземете няколко решения. Първият е типът проект, който искате да инициализирате. Spring предоставя три опции: Gradle за Groovy, Gradle за Kotlin или Maven. Това примерно приложение ще използва проект на Maven.

Другите опции, които трябва да изберете, са езикът (Java), версията на Spring Boot, която искате да използвате, и метаданните на проекта. Spring вече има някои фиктивни данни в своите пет полета, които ще ви помогнат да създадете примерно приложение. Въпреки това ще трябва да актуализирате тези полета със специфични за проекта данни, тъй като тези метаданни ще описват вашето Spring приложение, включително Spring beans и техните методи.

След това ще трябва да изберете опаковката, в която искате вашите файлове (буркан или война). След това можете да изберете версията на Java, която имате на вашето устройство. Окончателното решение, което ще трябва да вземете, е вида на зависимостите, които искате за вашето приложение.

Spring предоставя няколко зависимости, които можете да използвате, за да добавите свойства към вашето приложение. За да добавите нова зависимост към вашето приложение, просто щракнете върху бутона за добавяне на зависимости вдясно от Spring Initializr. Това действие ще генерира следното наслагване на вашия екран:

За това примерно приложение единствената зависимост, от която ще се нуждаете, е Spring Web. Тази зависимост ви позволява да създавате уеб приложения, използвайки MVC архитектурата. След като сте избрали всички зависимости, които искате да използвате във вашето приложение, продължете с генериране на кликване. Това ще изтегли шаблона на проекта вместо вас.

Сега имате проект за зареждане на Spring (което е една от библиотеките на Spring). Последната стъпка е да импортирате проекта в предпочитаната от вас IDE. Вашият пролетен проект ще има следната структура на проекта:

Това е нормална структура на проект на Maven и има няколко важни файла, с които трябва да се запознаете.

  • Pom.xml: Това съдържа данните за конфигурацията на приложението Spring.
  • OnlineShopaholicsApplication.java: Това е главният клас на Spring Boot, който изпълнява приложението.
  • OnlineShopaholicsApplicationTest.java: Това е a JUnit тест клас, който гарантира, че контекстът на приложението Spring (или контейнер) се зарежда правилно.

Изпълнение на пролетно приложение

Bootstrap класът на Spring, който в този случай е класът OnlineShopaholicsApplication, има следния начален код:

пакет com.onlineshopaholics;

импортиранеорг.springframework.boot.SpringApplication;
импортиранеорг.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
публиченкласПриложение за онлайн шопахолици{
публиченстатиченневалиденосновен(Низ [] аргументи){
SpringApplication.run (OnlineShopaholicsApplication.клас, аргументи);
}
}

Един от най-важните аспекти на кода по-горе е @SpringBootApplication анотация, която е съставна анотация, която позволява на вашето приложение да има достъп до функциите на три други анотации:

  • @EnableAutoconfiguration: Тази анотация позволява автоматична конфигурация на Spring Boot. Това означава, че казва на Spring boot да конфигурира всеки компонент, който според него ще трябва да функционира вашето приложение.
  • @ComponentScan: Тази анотация ви позволява да активирате сканиране на компоненти. Тази функция е важна, тя позволява на Spring автоматично да открива и регистрира други анотирани компоненти за използване от контекста на приложението на Spring (или контейнера).
  • @SpringBootConfiguration: Това е специализирана форма на анотацията @Configureation, която ви позволява да регистрирате beans (или обекти) в контекста на приложението Spring.

Другият важен аспект на кода по-горе е основен () метод, той изпълнява вашето приложение. Когато приложението се изпълни сега, то просто стартира сървъра. Така че, ако искате да добавите повече функционалност към приложението, ще трябва да актуализирате кода:

пакет com.onlineshopaholics;

импортиранеорг.springframework.boot.SpringApplication;
импортиранеорг.springframework.boot.autoconfigure.SpringBootApplication;
импортиранеорг.springframework.web.свързване.анотация.GetMapping;
импортиранеорг.springframework.web.свързване.анотация.RequestParam;
импортиранеорг.springframework.web.свързване.анотация.RestController;

@SpringBootApplication
@RestController
публиченкласПриложение за онлайн шопахолици{
публиченстатиченневалиденосновен(Низ [] аргументи){
SpringApplication.run (OnlineShopaholicsApplication.клас, аргументи);
}

@GetMapping("/клиент")
публичен низ Добре дошли(@RequestParam (стойност = "име", defaultValue = "Клиент") низ име) {
връщанениз.format(„Добре дошли %s!“, име);
}
}

Приложението Spring Boot вече има три нови анотации:

  • @RestController: Тази анотация маркира класа като контролер, така че всеки метод в класа по-горе (с изключение на main()) ще върне домейн обект вместо изглед.
  • @GetMapping: Тази анотация нанася HTTP GET заявки върху конкретни методи на заглавка. И така, всеки път, когато създавате заявка за “/customer” в браузъра, методът Welcome() ще обработва заявката, като връща стойност на низ.
  • @RequestParam: Тази анотация показва, че параметър на метод трябва да бъде обвързан с параметър на уеб заявка.

С актуализирания код вашият Spring Приложение за онлайн шопахолици вече има клиентска страница, която можете да видите във вашия браузър. Изпълнението на приложението ще стартира сървъра и ще генерира изход в конзолата.

В изхода има много важна информация. Той ви казва, че сървърът работи, той ви казва колко време е отнел процесът на инициализация и ви казва на кой порт работи приложението (8080, по подразбиране). Следователно, ако навигирате до http://localhost: 8080/клиент ще видите следния изход във вашия браузър:

Сега можете да проектирате своя изглед на приложение

Друг важен файл в структурата на проекта, който може да забележите, е шаблони папка. В идеалния случай, Приложение за онлайн шопахолици класът трябва да служи като контролер, който обработва заявки за различни изгледи. Следователно, в цялостно приложение, класът на контролера не трябва да съдържа текста, който ще се покаже в изгледа на неговата заявка.

Вместо това ще трябва да създадете шаблонни файлове с помощта на HTML и да ги поставите в папката шаблони на вашето Spring приложение.