Читаем Spring in Action Covers Spring 5-1--11 полностью

Метод main () вызывает статический метод run () класса SpringApplication, который выполняет фактическую загрузку приложения, создавая контекст приложения Spring. Два параметра, переданные методу run (), являются конфигурационным классом и аргументы командной строки. Хотя это не обязательно, что конфигурационный класс, передаваемый в run(), будет таким же, как класс начальной загрузки, это наиболее удобно и стандартный выбор.

 

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

 

ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЯ

 

Тестирование является важной частью разработки программного обеспечения. Признавая это, Spring Инициализатор предоставляет тестовый класс для начала работы. Ниже приведен базовый уровень тестового класса.

Листинг 1.3 Базовый тест приложения

package tacos;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

      @RunWith(SpringRunner.class)  /*Использование Spring runner*/

@SpringBootTest /* String Boot тест*/

public class TacoCloudApplicationTests {

   @Test /*Метод теста*/

   public void contextLoads() {

   }

}

В тестах TacoCloudApplicationTests мало что можно увидеть: единственный метод теста в классе пуст. Тем не менее, этот тестовый класс действительно выполняет существенную проверку, чтобы гарантировать, что контекст приложения Spring может быть загружен успешно. При внесении каких-либо изменений, препятствующих созданию Spring applicationcontext, этот тест завершается неудачей, и можно реагировать путем устранения проблемы.

Также обратите внимание на класс с аннотацией @RunWith (SpringRunner.класс.) @RunWith является аннотацией JUnit, обеспечивая тестовый runner, помогающий JUnit в выполнении теста. Думайте об этом как о применении плагина к JUnit для обеспечения пользовательского поведения тестирования. В этом случае JUnit получает SpringRunner, тестовый модуль, предоставляемый Spring, который обеспечивает создание контекста приложения Spring, с которым будет выполняться тест.

ТЕСТ-RUNNER ПОД ДРУГИМ ИМЕНЕМ…

Если вы уже знакомы с написанием тестов Spring или, возможно, видели какие-то реальные классы тестов Spring, вы, возможно, видели тестовый runner с именем SpringJUnit4ClassRunner. SpringRunner является псевдонимом SpringJUnit4ClassRunner и был введен в Spring 4.3, чтобы удалить связь с определенной версией JUnit (например, JUnit 4). И нет никаких сомнений в том, что псевдоним легче читать и печатать.

@SpringBootTest говорит JUnit что, запуск тестов должен осуществляться с использованием Spring Boot. Сейчас достаточно считать, что этот тест класса эквивалентно вызову SpringApplication.run() в методе main(). В течение этой книги вы увидите @SpringBootTest несколько раз, и мы раскроем часть его силы.

Наконец, есть сам метод тестирования. Хотя @RunWith(SpringRunner.class) и @SpringBootTest поручено загрузить контекст приложения Spring для теста, они не будут иметь ничего общего, если нет никаких методов тестирования. Даже без каких-либо объявлений или кода, этот пустой метод тестирования предложит двум аннотациям выполнить свою работу и загрузить контекст приложения Spring. Если при этом возникают какие-либо проблемы, тест не выполняется.

На этом мы завершили обзор кода, предоставленного Spring Initializr. Вы видели некоторые стандартные основы, которые можно использовать для разработки приложения Spring, но вы до сих пор не написали ни одной строки кода. Теперь пришло время запустить IDE, убрать пыль с клавиатуры и добавить пользовательский код в приложение Taco Cloud.

Написание приложения Spring

Так как, вы только начинаете, мы начнем с относительно небольшого изменения в приложении Taco Cloud, но такого, которое продемонстрирует большую полезность Spring. Кажется уместным, что, поскольку вы только начинаете, первая функция, которую вы добавите в приложение Taco Cloud, - это домашняя страница. Чтобы добавить главную страницу, вы создадите два artifact:  

контроллер-класс, который обрабатывает запросы для главной страницы

визуальный шаблона, который определяет, как выглядит домашняя страница

И помня как важно тестирование, вы также написать простой тестовый класс для проверки домашней страницы. Но сначала о главном ... давайте напишем контроллер.

1.3.1 Обработка веб-запросов

 

Перейти на страницу:

Похожие книги

История России
История России

Издание описывает основные проблемы отечественной истории с древнейших времен по настоящее время.Материал изложен в доступной форме. Удобная периодизация учитывает как важнейшие вехи социально-экономического развития, так и смену государственных институтов.Книга написана в соответствии с программой курса «История России» и с учетом последних достижений исторической науки.Учебное пособие предназначено для студентов технических вузов, а также для всех интересующихся историей России.Рекомендовано Научно-методическим советом по истории Министерства образования и науки РФ в качестве учебного пособия по дисциплине «История» для студентов технических вузов.

Александр Ахиезер , Андрей Викторович Матюхин , И. Н. Данилевский , Раиса Евгеньевна Азизбаева , Юрий Викторович Тот

Педагогика, воспитание детей, литература для родителей / Детская образовательная литература / История / Учебники и пособия / Учебная и научная литература
Теория государства и права
Теория государства и права

Учебник, написанный РІ соответствии СЃ РєСѓСЂСЃРѕРј «Теория государства Рё права» для юридических РІСѓР·РѕРІ, качественно отличается РѕС' выходивших ранее РєРЅРёРі РїРѕ этой дисциплине. Сохраняя РІСЃРµ то ценное, что наработано РІ теоретико-правовой мысли Р·Р° предыдущие РіРѕРґС‹, автор вместе СЃ тем решительно отходит РѕС' вульгаризированных РґРѕРіРј Рё методов, существенно обновляет Рё переосмысливает РІРѕРїСЂРѕСЃС‹ возникновения, развития Рё функционирования государства Рё права.РљРЅРёРіР°, посвященная современной теории государства Рё права, содержит СЂСЏРґ принципиально новых тем. Впервые РЅР° высоком теоретическом СѓСЂРѕРІРЅРµ осмыслены Рё изложены РІРѕРїСЂРѕСЃС‹ новых государственно-правовых процессов современного СЂРѕСЃСЃРёР№СЃРєРѕРіРѕ общества. Дается характеристика гражданского общества РІ его соотношении СЃ правом Рё государством.Для студентов, аспирантов, преподавателей Рё научных работников юридических РІСѓР·РѕРІ.Р

Алла Робертовна Швандерова , Анатолий Борисович Венгеров , Валерий Кулиевич Цечоев , Михаил Борисович Смоленский , Сергей Сергеевич Алексеев

Детская образовательная литература / Государство и право / Юриспруденция / Учебники и пособия / Прочая научная литература / Образование и наука