Учебное пособие по Java Spring Boot — живой пример веб-приложения Hello-World с подробными инструкциями
Опубликовано: 2018-04-05
Почему Spring Boot? Для чего используется Spring Boot?
Хотите создать микросервисы на основе Java для своего приложения? Ну, Spring boot - это решение на основе Java с открытым исходным кодом для того же
Он используется для создания готового к производству приложения на основе Spring, созданного командой Pivotal.
Идея Spring Boot очень проста. Он предоставляет предварительно настроенный набор функций и инфраструктуру, с помощью которых вы можете опубликовать свое первое веб-приложение на основе Spring Boot, написав всего few lines of code
. Всего одной простой командой вы можете запустить и протестировать свое веб-приложение.
Набор всех пользовательских конфигураций, настроек базы данных, сторонних модулей поставляется out-0f-the-box
в Spring Boot.
Так как у нас есть очень популярный учебник Hello World Spring MVC, мы также начнем наш учебник Hello World Spring Boot
аналогичным образом.
Начало работы с Spring Boot:
- Это ваш учебник по Spring Boot для начинающих
- Учебное пособие по весенней загрузке Hello World
- Простейший пример загрузки Spring
- учебник по весенней загрузке maven
- пример веб-приложения с весенней загрузкой
Давайте начнем.
Шаг 1
Чтобы начать работу с Spring Boot, вам понадобятся следующие настройки.
- JDK 8. Убедитесь, что вы
download and install
последнюю версию JDK. - Затмение IDE. Убедитесь, что вы загрузили
Eclipse IDE for Java EE Developers
. официальная ссылка для скачивания. - Весенняя загрузка 2.4.3.
Шаг 2
После того, как вы установите Eclipse на свой ноутбук/рабочий стол, перейдите в Eclipse. Мы собираемся создать новый динамический веб-проект.
- Нажмите на файл
- Новый
-
Dynamic Web Project
- На первом экране укажите имя проекта:
CrunchifySpringBootHelloWorld
.

- Убедитесь, что у вас есть версия динамического веб-модуля
3.1
и целевая среда выполнения Apache Tomcat 8. - Если у вас еще нет установки Apache Tomcat, выполните следующие действия, чтобы настроить Tomcat в Eclipse.
- Нажмите «Далее» два раза и убедитесь, что настройки такие же, как эти. Скриншот1, Скриншот2.
- ИЛИ нажмите «Готово», чтобы создать динамический веб-проект.
Шаг 3
Следующим шагом является преобразование проекта Java в проект Maven.
- Щелкните правой кнопкой мыши проект
- Нажмите «Настроить».
- Нажмите
Convert to Maven Project
- Сохраняйте конфигурацию по умолчанию
- Нажмите «Готово»

Шаг-4
Вышеупомянутый шаг создаст файл pom.xml для вашего проекта. Следующим шагом является обновление файла pom.xml
содержимым ниже и добавление Spring Boot Dependency
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
< project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 < / modelVersion > < groupId > CrunchifySpringBootHelloWorld < / groupId > < artifactId > CrunchifySpringBootHelloWorld < / artifactId > < version > 1.0.0 - RELEASE < / version > < packaging > war < / packaging > < parent > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - parent < / artifactId > < version > 2.4.3 < / version > < / parent > < dependencies > < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - web < / artifactId > < / dependency > < / dependencies > < properties > < java . version > 1.8 < / java . version > < / properties > < build > < sourceDirectory > src < / sourceDirectory > < plugins > < plugin > < artifactId > maven - compiler - plugin < / artifactId > < configuration > < source > 1.8 < / source > < target > 1.8 < / target > < / configuration > < / plugin > < plugin > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - maven - plugin < / artifactId > < / plugin > < plugin > < artifactId > maven - war - plugin < / artifactId > < configuration > < warSourceDirectory > WebContent < / warSourceDirectory > < / configuration > < / plugin > < / plugins > < / build > < / project > |
Как вы видите выше, мы добавляем jar org.springframework.boot 2.4.3
в наш проект. Кроме того, мы добавляем еще два артефакта:
- весна-загрузка-maven-плагин
- весна-загрузка-стартер-сеть
Шаг-5
Теперь давайте поработаем над созданием простого файла Hello World Application
, к которому мы сможем получить доступ с помощью URL-адресов.
- http://locahost:8080
- http://locahost:8080/crunchify
Создайте файл CrunchifyHelloWorldSpringBoot.java
со следующим кодом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
package crunchify . com . springboot ; import org . springframework . boot . SpringApplication ; import org . springframework . boot . autoconfigure . EnableAutoConfiguration ; import org . springframework . web . bind . annotation . RequestMapping ; import org . springframework . web . bind . annotation . RestController ; /** * @author Crunchify.com - Simple Spring Boot Example * */ // @RestController is a convenience annotation that is itself annotated with @Controller and @ResponseBody @ RestController // @EnableAutoConfiguration enables auto-configuration of the Spring Application Context, attempting to guess // and configure beans that you are likely to need. @ EnableAutoConfiguration public class CrunchifyHelloWorldSpringBoot { // @RequestMapping annotation is used for mapping web requests onto specific handler classes @ RequestMapping ( "/" ) String basicURL ( ) { return "Welcome to Spring Boot Hello World Tutorial" ; } @ RequestMapping ( "crunchify" ) String crunchifyURL ( ) { return "Hello Crunchify Friends! This is your first SpringBoot Example. Isn't that so Simple?" ; } public static void main ( String [ ] args ) throws Exception { // SpringApplication classes that can be used to bootstrap and launch a Spring application from a Java // main method. By default class will perform the following steps to bootstrap your application. SpringApplication . run ( CrunchifyHelloWorldSpringBoot . class , args ) ; } } |
После того, как вы добавите вышеупомянутый java-файл, структура вашего проекта Eclipse должна выглядеть следующим образом:

Шаг-6
Теперь, используя простую команду spring-boot:run
maven, вы можете запустить Spring Boot Application
.
- Щелкните правой кнопкой мыши проект
- Нажмите
Run As -> Maven build...

Следующая Windows сохраняет конфигурацию по умолчанию и предоставляет goal as spring-boot:run
, как вы видите на изображении ниже.

Шаг-7
Убедитесь, что у вас нет ошибок в консоли Eclipse. Вот вывод консоли из Eclipse IDE.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
SLF4J : Class path contains multiple SLF4J bindings . SLF4J : Found binding in [ jar : file : / Applications / Eclipse . app / Contents / Eclipse / plugins / org . eclipse . m2e . maven . runtime . slf4j . simple_1 . 16.0.20200610 - 1735 / jars / slf4j - simple - 1.7.5.jar ! / org / slf4j / impl / StaticLoggerBinder . class ] SLF4J : Found binding in [ file : / Applications / Eclipse . app / Contents / Eclipse / configuration / org . eclipse . osgi / 5 / 0 / . cp / org / slf4j / impl / StaticLoggerBinder . class ] SLF4J : See http : //www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J : Actual binding is of type [ org . slf4j . impl . SimpleLoggerFactory ] SLF4J : Class path contains multiple SLF4J bindings . SLF4J : Found binding in [ jar : file : / Applications / Eclipse . app / Contents / Eclipse / plugins / org . eclipse . m2e . maven . runtime . slf4j . simple_1 . 16.0.20200610 - 1735 / jars / slf4j - simple - 1.7.5.jar ! / org / slf4j / impl / StaticLoggerBinder . class ] SLF4J : Found binding in [ file : / Applications / Eclipse . app / Contents / Eclipse / configuration / org . eclipse . osgi / 5 / 0 / . cp / org / slf4j / impl / StaticLoggerBinder . class ] SLF4J : See http : //www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J : Actual binding is of type [ org . slf4j . impl . SimpleLoggerFactory ] [ INFO ] Scanning for projects . . . [ INFO ] [ INFO ] ---- < CrunchifySpringBootHelloWorld : CrunchifySpringBootHelloWorld > ----- [ INFO ] Building CrunchifySpringBootHelloWorld 1.0.0 - RELEASE [ INFO ] -------------------------------- [ war ] --------------------------------- [ INFO ] [ INFO ] > > > spring - boot - maven - plugin : 2.4.3 : run ( default - cli ) > test - compile @ CrunchifySpringBootHelloWorld > > > [ INFO ] [ INFO ] --- maven - resources - plugin : 3.2.0 : resources ( default - resources ) @ CrunchifySpringBootHelloWorld --- [ INFO ] Using 'UTF-8' encoding to copy filtered resources . [ INFO ] Using 'UTF-8' encoding to copy filtered properties files . [ INFO ] skip non existing resourceDirectory / Users / app / crunchify / eclipse - workspace / CrunchifySpringBootHelloWorld / src / main / resources [ INFO ] skip non existing resourceDirectory / Users / app / crunchify / eclipse - workspace / CrunchifySpringBootHelloWorld / src / main / resources [ INFO ] [ INFO ] --- maven - compiler - plugin : 3.8.1 : compile ( default - compile ) @ CrunchifySpringBootHelloWorld --- [ INFO ] Nothing to compile - all classes are up to date [ INFO ] [ INFO ] --- maven - resources - plugin : 3.2.0 : testResources ( default - testResources ) @ CrunchifySpringBootHelloWorld --- [ INFO ] Not copying test resources [ INFO ] [ INFO ] --- maven - compiler - plugin : 3.8.1 : testCompile ( default - testCompile ) @ CrunchifySpringBootHelloWorld --- [ INFO ] Not compiling test sources [ INFO ] [ INFO ] < < < spring - boot - maven - plugin : 2.4.3 : run ( default - cli ) < test - compile @ CrunchifySpringBootHelloWorld < < < [ INFO ] [ INFO ] [ INFO ] --- spring - boot - maven - plugin : 2.4.3 : run ( default - cli ) @ CrunchifySpringBootHelloWorld --- [ INFO ] Attaching agents : [ ] . ____ _ __ _ _ / \ \ / ___ '_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | ' _ | '_| | ' _ \ / _ ` | \ \ \ \ \ \ / ___ ) | | _ ) | | | | | | | ( _ | | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.4.3) 2021-02-21 21:05:10.614 INFO 36654 --- [ main] c.c.s.CrunchifyHelloWorldSpringBoot : Starting CrunchifyHelloWorldSpringBoot using Java 15 on LM-AUN-11021095 with PID 36654 (/Users/app/crunchify/eclipse-workspace/CrunchifySpringBootHelloWorld/target/classes started by arpshah in /Users/app/crunchify/eclipse-workspace/CrunchifySpringBootHelloWorld) 2021-02-21 21:05:10.616 INFO 36654 --- [ main] c.c.s.CrunchifyHelloWorldSpringBoot : No active profile set, falling back to default profiles: default 2021-02-21 21:05:11.008 INFO 36654 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2021-02-21 21:05:11.014 INFO 36654 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2021-02-21 21:05:11.015 INFO 36654 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.43] 2021-02-21 21:05:11.054 INFO 36654 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-02-21 21:05:11.054 INFO 36654 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 417 ms 2021-02-21 21:05:11.147 INFO 36654 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService ' applicationTaskExecutor ' 2021-02-21 21:05:11.241 INFO 36654 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ' ' 2021-02-21 21:05:11.247 INFO 36654 --- [ main] c.c.s.CrunchifyHelloWorldSpringBoot : Started CrunchifyHelloWorldSpringBoot in 0.843 seconds (JVM running for 1.04) 2021-02-21 21:07:04.240 INFO 36654 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet ' dispatcherServlet ' 2021-02-21 21:07:04.240 INFO 36654 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet ' dispatcherServlet ' 2021 - 02 - 21 21 : 07 : 04.241 INFO 36654 --- [ nio - 8080 - exec - 1 ] o . s . web . servlet . DispatcherServlet : Completed initialization in 1 ms |
Шаг-8
Теперь посетите URL-адреса http://localhost:8080
и http://locahost:8080/crunchify
, чтобы увидеть результат в реальном времени.



Надеюсь, что это руководство поможет вам начать работу с примером Java Spring Boot. Дайте мне знать, если вы обнаружите какие-либо проблемы с запуском вашего первого приложения Spring Boot.
В ближайшие недели мы будем добавлять все больше и больше сложных примеров Spring Boot для вашего. Если у вас есть особые требования, сообщите нам об этом в разделе комментариев.
Что дальше?
- Создайте супер простое
Spring Boot application
в IntelliJ IDEA - Создайте простую
Rest Service
в IntelliJ IDEA