Статьи

Как создать проект Spring Boot с инициализатором Spring

Привет друзья,

Если вы ранее использовали 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, являются их собственными.