Самый простой способ создать Spring Boot приложение, на мой взгляд — это воспользоваться официальным сайтом Spring.
Открываем Intellij IDEA и создаем новый Maven проект:
После создания проекта идем на сайт Spring в раздеп Guides:
Далее в строке поиска пишем MVC и получаем такой результат:
Заходим по этой ссылке и делаем все, что там написано (далее по тексту).
Конфигурация pom.xml для Spring Boot
Чтобы сконфигурировать Spring Boot проект нам надо прописать build script:
<?xml version="1.0" encoding="UTF-8"?> <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>HelloWorldSpring</groupId> <artifactId>HelloWorldSpring</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> </dependencies> <properties> <java.version>1.8</java.version> </properties> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
Создаем файлы проекта Spring Boot
Далее по инструкции создаем пакет hello и в нем класс GreetingController:
Содержимой класса выглядит следующим образом:
package hello; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class GreetingController { @GetMapping("/greeting") public String greeting(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) { model.addAttribute("name", name); return "greeting"; } }
Далее в ресурсах создаем папку templates и в ней файл greeting.html, имеющий следующее содержимое:
<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Getting Started: Serving Web Content</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <p th:text="'Hello, ' + ${name} + '!'" /> </body> </html>
Далее в пакете hello создадим класс Application:
package hello; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
Далее создаем папку static в ресурсах и в ней создаем файл index.html:
<!DOCTYPE HTML> <html> <head> <title>Getting Started: Serving Web Content</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <p>Get your greeting <a href="/greeting">here</a></p> </body> </html>
Запуск Spring Boot приложения
Чтобы запустить приложение, надо перейти в класс Application и выполнить действия, показанные на скриншоте:
Наше приложение доступно по адресу http://127.0.0.1:8080
Создание WAR архива Spring Boot приложения и deploy на Apache Tomcat
Чтобы задеплоить написанное приложение на tomcat необходимо выполнить следующие действия:
Класс Application должен приобрести следующий вид:
package hello; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
В файл pom.xml дописываем <packaging>war</packaging>
после тега version в начале файла.
Далее создаем war архив (View/Tool Windows/Maven Projects):
В проекте создалась папка target и в ней файл war.
Останавливаем проект и запускаем Apache Tomcat.
Заходим в Application List и деплоим наш файл, предварительно переименовав его, как вам удобно:
В моем случае приложение доступно по адресу http://127.0.0.1:8080/HelloWorldSpring/ т.к. имя моего файла HelloWorldSpring.