Привет друзья,
Если вы ранее использовали Spring Framework, вы должны знать, что требуются некоторые искренние усилия, чтобы даже начать работу с базовыми функциями Spring. С Spring Boot эта первоначальная проблема исчезла, и вы можете начать работу за считанные минуты.
Добро пожаловать в мир Spring Boot !!!
В этом руководстве мы увидим различные способы создания проекта Spring Boot.
По сути, существует четыре способа создания Spring Boot Project:
1. Использование инициализатора Spring.io
2. Использование Eclipse или любого аналогичного IDE и простого проекта Maven
3. Использование Spring Tool Suite
4. Использование CLI
В этом руководстве основное внимание будет уделено созданию проекта Spring Boot с использованием инициализатора Spring.io.
1. Spring Boot Project с использованием инициализатора Spring.io
Шаги:
Шаг 1:
Открыть URL: http://start.spring.io/
Как мы можем видеть на скриншоте выше (вы можете сослаться на извлеченную часть ниже) на скриншоте, который по умолчанию говорит, что генерировать <Maven Project> с <Java> и Spring Boot <1.5.0>
Но есть варианты для генерации <Gradle Project> с <Kotlin> / <Groovy> и Sprig Boot <Нижние версии>, а также в соответствии с нашими требованиями.
В этом уроке мы сосредоточимся на Maven с Java и Spring Boot 1.5.10.
Шаг 2:
Поскольку мы создаем проект Maven и знаем, что у каждого проекта Maven есть идентификатор группы и артефакта, поэтому этот интерфейс предоставляет нам заполнители, в которые мы можем ввести идентификатор группы и артефакта.
Мы введем следующее как идентификатор группы и артефакта:
группа: nl.blogspot.javasolutionsguide.springboot
Идентификатор артефакта: springBootApp
Шаг 3:
Нажмите на ссылку «Перейти к полной версии», которая находится чуть ниже кнопки «Создать проект».
Шаг 4:
Вы заметите следующие дополнительные поля:
Описание : Это просто описание проекта. Вы можете изменить его как подходящее, но это не имеет значения с технической стороны.
Имя пакета. Это имя пакета, которое будет создано Spring по умолчанию при создании загрузочного проекта Spring с использованием этого графического интерфейса start.spring.io.
Упаковка: это представление о том, как проект будет упакован как результат. У нас есть два варианта:
Jar — архив Java
Война — веб-архив
Сначала мы выберем опцию Jar. В этом уроке мы увидим и войну.
Версия Java:
На момент написания этого урока у нас было три варианта 7,8 и 9. Я выберу вариант по умолчанию — Java 8.
Шаг 5:
Прокрутите страницу вниз на веб-странице start.spring.io, и вы увидите ниже список зависимостей, которые вы можете добавить в свое приложение в зависимости от требований. Здесь мы добавим только веб-зависимость. Для этого вам просто нужно отметить эту зависимость и как только вы нажмете «Создать проект», эта зависимость будет добавлена в сгенерированный проект.
Шаг 6:
Нажмите Generate Project, и вы увидите, что проект будет загружен и Zip на вашем жестком диске с именем, которое вы дали бы в текстовом поле Artifact.
Шаг 7:
Извлеките проект с помощью WinZip и импортируйте в Eclipse как Maven Project, щелкнув правой кнопкой мыши в Package Explorer, а затем выберите import… -> Существующий проект Maven -> Далее -> Выбрать извлеченный проект с жесткого диска -> Нажмите «Готово».
Шаг 8:
В eclipse вы увидите java-проект в соответствии со стандартом Maven. И с этим вы уже настроили проект Spring Boot в Eclipse.Easy…. верно.
Шаг 9:
Давайте рассмотрим проект, который был создан.
— Откройте Pom.xml, и вы увидите, что Pom создан со следующими координатами проекта, как мы определили в GUI
1
2
3
4
5
6
7
8
9
|
< groupId >nl.blogspot.javasolutionsguide.springboot</ groupId > < artifactId >springBootApp</ artifactId > < version >0.0.1-SNAPSHOT</ version > < packaging >jar</ packaging > < name >springBootApp</ name > < description >Demo project for Spring Boot</ description > |
— Следующий родитель также был добавлен автоматически (обратите внимание на слово, это магия Spring Boot :)).
1
2
3
4
5
6
7
|
< parent > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-parent</ artifactId > < version >1.5.10.RELEASE</ version > < relativePath /> <!-- lookup parent from repository --> </ parent > |
Это обеспечит добавление следующих зависимостей Maven в проект. Вы можете попробовать удалить spring-boot-starter-parent из pom.xml и сохранить проект, и вы заметите, что все ваши следующие зависимости исчезнут.
— В приведенном выше списке зависимостей вы, должно быть, заметили, что весенняя загрузка также добавила зависимости для встроенного Tomcat, так что вам не нужно явно устанавливать или настраивать tomcat в вашем затмении.
— Кроме того, вы найдете следующие свойства, зависимости и плагин, добавленные автоматически. Помните, что когда мы выбрали Web в start.spring.io GUI, в POM-файл была добавлена зависимость spring-boot-starter-web.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
< properties > < project.build.sourceEncoding >UTF-8</ project.build.sourceEncoding > < project.reporting.outputEncoding >UTF-8</ project.reporting.outputEncoding > < java.version >1.8</ java.version > </ properties > < dependencies > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-web</ artifactId > </ dependency > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-test</ artifactId > < scope >test</ scope > </ dependency > </ dependencies > < build > < plugins > < plugin > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-maven-plugin</ artifactId > </ plugin > </ plugins > </ build > |
— Если вы откроете src / main / java, вы увидите, что пакет, который мы упомянули в графическом интерфейсе start.spring.io, был создан, а именно «nl.blogspot.javasolutionsguide.springboot.springBootApp»
— В вышеупомянутом пакете вы найдете класс SpringBootAppApplication. Таким образом, в указанном пакете создается класс с именем <Имя вашего проекта>, к которому добавлено слово «Application».
1
2
3
4
5
6
7
8
|
@SpringBootApplication public class SpringBootAppApplication { public static void main(String[] args) { SpringApplication.run(SpringBootAppApplication. class , args); } } |
— Аннотация @SpringBootApplication, используемая на уровне класса выше, в основном эквивалентна объединенным следующим трем примечаниям:
1
2
3
|
@Configuration @EnableAutoConfiguration @ComponentScan |
Мы обсудим больше об этих аннотациях в последующих уроках.
— Из основного метода SpringBootAppApplication вызывается метод run класса SpringApplicaiton. Этот метод обеспечивает инициализацию applicationContext приложения Spring (контейнера Spring). При загрузке Spring используется AnnotaionConfigApplicationContext.
1
2
3
4
|
public static void main(String[] args) { SpringApplication.run(SpringBootAppApplication. class , args); } |
Шаг 10:
Запустите основной метод SpringBootAppApplication, и вы заметите, что jar автоматически развертывается на встроенном сервере Tomcat и сервер Tomcat запущен на порту 8080.
Проверьте консольный журнал затмения:
Шаг 11:
Теперь, когда наш код развернут на Tomcat, а Tomcat запущен и работает, давайте попробуем набрать 8080.
о… Страница ошибки и там написано, что «в этом приложении нет явного сопоставления для / error, поэтому вы видите это как запасной вариант».
Шаг 12:
Давайте продолжим и добавим отображение для / error, создав ErrorHandlerController в новом пакете
nl.blogspot.javasolutionsguide.springboot.controller.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
|
@RestController public class ErrorHandlerController implements ErrorController{ private static final String PATH = "/error" ; @RequestMapping (value=PATH) public String error() { return "Error Handling" ; } @Override public String getErrorPath() { return PATH; } } |
Обратите внимание, что этот контроллер должен реализовывать интерфейс ErrorController, который предоставляется Spring Boot, и нам нужно реализовать его метод getErrorPath ().
Также, как я уже говорил ранее, @SpringBootApplication уже включает @EnableAutoConfiguration, это означает, что нам не нужно выполнять все конфигурации, которые в противном случае нам пришлось бы делать для обработки запроса через контроллер Rest, например, для настройки DispatcherServlet.
Также обратите внимание, что, поскольку мы создали этот контроллер в новом пакете и по умолчанию Spring будет проверять только пакет nl.blogspot.javasolutionsguide.springboot.springbootapp, мы должны сообщить Spring, что этот новый пакет также должен быть отсканирован. нужно добавить следующее в класс SpriingBootAppApplication на уровне класса:
01
02
03
04
05
06
07
08
09
10
11
12
13
|
@ComponentScan ({ "nl.blogspot.javasolutionsguide.springboot.springBootApp" , "nl.blogspot.javasolutionsguide.springboot.controller" }) So SpringBootAppApplicaiton class will look like below now : @ComponentScan ({ "nl.blogspot.javasolutionsguide.springboot.springBootApp" , "nl.blogspot.javasolutionsguide.springboot.controller" }) @SpringBootApplication public class SpringBootAppApplication { public static void main(String[] args) { SpringApplication.run(SpringBootAppApplication. class , args); } } |
Шаг 13:
Теперь снова запустите класс SpringBootApplication, и теперь, если мы нажмем 8080, мы получим «Обработка ошибок» на веб-странице, как показано ниже:
Точно так же мы можем иметь n контроллеров в соответствии с нашими требованиями в нашем проекте и можем обработать запрос и отправить действительные ответы обратно на веб-страницу.
Вот и все, друзья, о том, как создать проект Spring Boot с Spring Initializer. В последующих уроках мы рассмотрим другие способы создания загрузочного проекта Spring. Подпишитесь на получение следующих уроков прямо в вашем почтовом ящике.
Спасибо за чтение. Если вам понравилось, поддержите меня, выбрав нашу страницу в Facebook и поделившись этим постом.
Опубликовано на Java Code Geeks с разрешения Гаурава Бхардваджа, партнера нашей программы JCG . См. Оригинальную статью здесь: Как создать проект Spring Boot с инициализатором Spring
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |