Я планировал написать статью о 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 @EnableAutoConfiguration public 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 @EnableWebMvc public 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; @Controller public 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 Алексея Зволинского в блоге заметок Фрузенштейна . |