Я планировал написать статью о Spring Boot больше года назад. Наконец у меня есть время и вдохновение для этого. Так что подготовьтесь к 10-15 минутам высококачественного весеннего урока. Я собираюсь продемонстрировать основы Spring Boot с Gradle и встроенным Tomcat. Я использую Intellij IDEA вместо Eclipse, но это не должно быть проблемой для тех из вас, кто привык к Eclipse.
Введение в Spring Boot
Какова моя цель? Я хочу разработать что-то очень похожее на одно из моих предыдущих руководств по конфигурированию Spring и Java . Это хорошее упражнение для сравнения двух разных подходов к разработке Spring.
Без сомнения, большинство из вас знает, что является главной целью Spring Boot. Для остальных читателей я хочу сказать, что Spring Boot делает разработчиков счастливее, потому что он заботится о конфигурации, а разработчики могут сосредоточиться на производстве кода. Для более подробной информации читайте официальную ссылку .
Файл сборки Gradle
Для управления зависимостями и сборки проекта я использую Gradle. Вот как выглядит файл build.gradle :
|
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
29
30
31
32
33
|
buildscript { repositories { //Required repos mavenCentral() } dependencies { //Required dependency for spring-boot plugin classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.1.2.BUILD-SNAPSHOT' }}apply plugin: 'java'apply plugin: 'war'apply plugin: 'spring-boot'war { baseName = 'companies' version = '0.1'}repositories { mavenCentral()}dependencies { compile 'org.springframework.boot:spring-boot-starter-web' //Required dependency for JSP providedRuntime 'org.apache.tomcat.embed:tomcat-embed-jasper'} |
Если вы новичок в Gradle, я рекомендую вам прочитать об этом где-нибудь еще, например, на официальном сайте. Это действительно хороший и практичный инструмент. Он может делать все, что делает Maven, но без XML!
Инициализация Spring Boot
Теперь мы можем настроить Spring Boot на уровне кода Java.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
|
package com.companies;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configuration@ComponentScan@EnableAutoConfigurationpublic class CompanyApplication { public static void main(String[] args) { SpringApplication.run(CompanyApplication.class, args); }} |
Вот и все, теперь вы можете начать развивать свою бизнес-логику. Шучу, нам нужно добавить несколько дополнительных настроек, связанных с разрешением просмотра.
|
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
|
package com.companies.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;import org.springframework.web.servlet.config.annotation.EnableWebMvc;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import org.springframework.web.servlet.view.InternalResourceViewResolver;@Configuration@EnableWebMvcpublic class WebMvcConfig extends WebMvcConfigurerAdapter{ @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } @Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("WEB-INF/pages/"); resolver.setSuffix(".jsp"); return resolver; }} |
После того, как вы создали класс, опубликованный выше, вы можете приступить к разработке контроллера.
Контроллер и просмотр
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package com.companies.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class HelloWorldController { @RequestMapping(value = "/hello", method = RequestMethod.GET) public ModelAndView hello() { ModelAndView mav = new ModelAndView(); mav.setViewName("hello"); String str = "Hello World!"; mav.addObject("message", str); return mav; }} |
И соответствующий вид hello.jsp для контроллера:
|
1
2
3
4
5
6
7
8
|
<html><head> <title>Hello world page</title></head><body> <h1>${message}</h1></body></html> |
Я надеюсь, что не составит труда повторить все эти шаги.
Запустите приложение Spring Boot
Последнее, что мы должны сделать в этом уроке, — это запустить приложение. Поэтому я использую Gradle, и в нашем файле build.gradle я указал, что приложение должно быть упаковано как файл WAR — мне нужно запустить сборку и запустить файл war.
Вот как это выглядит в IDEA:
Результат вы можете увидеть здесь: localhost: 8080 / hello
| Ссылка: | Spring Boot: быстрый старт MVC от нашего партнера JCG Алексея Зволинского в блоге заметок Фрузенштейна . |


