Руководство по весне в Eclipse STS

Руководство по весне в Eclipse STS

1. обзор

В этой статье показаны некоторые полезные функции IDEEclipse Spring Tool Suite (STS), которые полезны при разработкеSpring applications.

Сначала мы покажем преимущества использования STS по сравнению с традиционным способом построения приложений с Eclipse.

После этого мы сосредоточимся на том, как загрузить приложение, как его запустить и как добавить дополнительные зависимости. В заключение мы добавляем аргументы приложения.

2. Основные характеристики СТС

STS - это среда разработки на основе Eclipse, настроенная для разработки приложений Spring.

Он предоставляет готовую среду для реализации, отладки, запуска и развертывания ваших приложений. Он также включает интеграцию для Pivotal tc Server, Pivotal Cloud Foundry, Git, Maven и AspectJ. STS построен как дополнение к последним версиям Eclipse.

2.1. Конфигурация проекта

STS понимает почти все наиболее распространенные структуры проекта Java. Он анализирует файлы конфигурации, а затем отображает подробную информацию об определенныхbeans, зависимостях, используемых пространствах имен и, кроме того, извлекает обзоры для определенных стереотипов.

spring-bean-snapshot

2.2. Обзор функций STS

Eclipse STS проверяет ваш проект и предоставляет быстрые исправления для ваших приложений. Например, при работе с Spring Data JPA IDE может использоваться для проверки имен методов запросов (подробнее об этом в разделе 6).

STS также предоставляет графическое представление обо всех методах компонентов и их взаимоотношениях. Возможно, вам захочется поближе познакомиться с графическими редакторами, которые поставляются с STS, просмотрев представления, доступные в менюwindow,show view и затемSpring соответственно.

STS также предлагает другие дополнительные полезные функции, которые не ограничиваются только приложениями Spring. Читателю рекомендуется ознакомиться с полным списком функций, которые можно найтиhere.

3. Создание приложения Spring

Давайте начнем с начальной загрузки простого приложения. Без STS приложение Spring обычно создается с использованием веб-сайтаSpring Initializer илиSpring Boot CLI. Это можно упростить, нажавCreate Spring Starter Project на панели инструментов STS.

На экранеNew Spring Starter Project используйте значения по умолчанию или внесите свои собственные настройки, а затем перейдите к следующему экрану. ВыберитеWeb и нажмите «Готово». Вашpom.xml теперь должен выглядеть примерно так:


    org.springframework.boot
    spring-boot-starter-parent
    1.3.6.RELEASE
     



    UTF-8
    1.8



    
        org.springframework.boot
        spring-boot-starter-web
    

    
        org.springframework.boot
        spring-boot-starter-test
        test
    

Ваша версия Spring Boot может отличаться, но всегда можно найти последнюю версиюhere.

4. Запуск приложения

Вышеупомянутое приложение можно запустить, щелкнув проект правой кнопкой мыши и выбрав «Запуск от имениSpring Boot App». Без STS вы, скорее всего, запустите приложение из командной строки с помощью следующей команды:

$ mvn spring-boot:run

По умолчанию приложения Spring запускаются с Tomcat, работающим через порт 8080. На этом этапе приложение запускается через порт 8080 и в основном ничего не делает, поскольку мы еще не реализовали ни один код. В разделе 8 показано, как изменить порт по умолчанию.

5. Ведение журнала и консоль ANSI

Когда вы запускаете проект из IDE с помощью команды run, вы заметите, что консоль выводит несколько хороших операторов журналаcolor-coded. Если вы хотите отключить его, перейдите кrun configurations… и снимите флажокEnable ANSI console output на вкладкеSpring Boot. В качестве альтернативы вы также можете отключить его, установив значение свойств в файлеapplication.properties.

spring.output.ansi.enabled=NEVER

Более подробную информацию о настройке журналов вашего приложения можно найти вhere.

6. Проверка имени запроса JPA

Временами реализация уровня доступа к данным может быть громоздким занятием. Возможно, придется написать много стандартного кода для реализации простых запросов и разбивки на страницы. Spring Data JPA (JPA) призван значительно облегчить такую ​​реализацию уровней доступа к данным. Этот раздел иллюстрирует некоторые преимущества использования JPA в сочетании с STS.

Для начала добавьте следующую зависимость для JPA к ранее сгенерированномуpom.xml:


    org.springframework.boot
    spring-boot-starter-data-jpa


    com.h2database
    h2

Вы могли заметить, чтоversion не указан в приведенном выше объявлении. Это связано с тем, что зависимости управляются из родительскогоpom.xml:


    org.springframework.boot
    spring-boot-starter-parent
    1.3.6.RELEASE

Чтобы заставить JPA работать, необходимо правильно определить менеджеров сущностей и менеджеров транзакций. Тем не менее, Spring автоматически настраивает их для вас. Единственное, что остается разработчику - это создать классы сущностей. Этими объектами управляет менеджер объектов, который, в свою очередь, создается контейнером. Давайте, например, создадим класс сущностиFoo следующим образом:

@Entity
public class Foo implements Serializable {
    @Id
    @GeneratedValue
    private Integer id;
    private String name;

    // Standard getters and setters
}

Контейнер сканирует все классы, помеченные@Entity, из корня пакета конфигурации. Затем мы создаем репозиторий JPA для объектаFoo:

public interface FooRepository extends JpaRepository {
    public Foo findByNames(String name);
}

В этот момент вы, возможно, уже заметили, что IDE теперь помечает этот метод запроса за исключением:

Invalid derived query! No property names found for type Foo!

Это, конечно, связано с тем, что мы случайно написали «‘ »в имени метода репозитория JPA. Чтобы исправить это, удалите ложные сообщения, например, так:

public Foo findByName(String name);

Обратите внимание, что@EnableJpaRepositories не использовался в классе конфигурации. Это связано с тем, чтоAutoConfigration контейнера предварительно регистрирует его для проекта.

«Поиск типа Jar» - это функция, которая была представлена ​​вSTS 3.5.0. Он предоставляет предложения по содержанию в проектах для классов, которые еще не находятся на пути к классам. STS может помочь вам добавить зависимости в ваш файл POM, если они еще не находятся в пути к классам.

Например, давайте добавим строку в класс сущностиFoo. Чтобы этот пример работал правильно, сначала убедитесь, что оператор импорта дляjava.util.List уже присутствует. Теперь мы можем добавить Google Guava следующим образом:

private List strings = Lists // ctrl + SPACE to get code completion

В среде IDE будет предложено добавить несколько зависимостей в путь к классам. Добавьте зависимость отcom.google.common.collect, **, нажмите return и добавьте зависимость отGuava. Теперь банка Guava будет автоматически добавлена ​​в ваш файлpom.xml следующим образом:


    com.google.guava
    guava
    19.0

Начиная с версииSTS 3.8.0, вы получаете диалоговое окно подтверждения, прежде чем STS внесет свои изменения в вашpom.xml.

8. Добавление аргументов приложения

Одной из других мощных функций Spring является поддержка внешних конфигураций, которые могут быть переданы в приложение несколькими способами, например, в качестве аргументов командной строки, указанных в свойствах или файлах YAML или в системных свойствах. В этом разделе мы сосредоточимся на добавлении параметра конфигурации в качестве аргумента запуска приложения с использованием STS. Это иллюстрируется настройкой Tomcat для запуска на другом порту.

Чтобы запустить приложение на порту Tomcat, отличном от порта по умолчанию, вы можете использовать следующую команду, где в качестве аргумента командной строки указан пользовательский порт:

mvn spring-boot:run -Drun.arguments="--server.port=7070"

При использовании STS вам нужно перейти в менюrun. Выберитеrun configurations… в диалоговом окне «Выполнить конфигурации», выберитеSpring Boot App на левой панели и выберитеdemo – DemoApplication (это будет другим, если вы не выбрали проект по умолчанию). Из вкладки(x)= Arguments в окнеProgram Arguments

--server.port=7070

иrun. Вы должны увидеть вывод в вашей консоли, похожий на вывод, который показан ниже:

.
.
2016-07-06 13:51:40.999  INFO 8724 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 7070 (http)
2016-07-06 13:51:41.006  INFO 8724 --- [           main] com.example.boot.DemoApplication        : Started DemoApplication in 6.245 seconds (JVM running for 7.34)

9. Заключение

В этой статье мы показали основы разработки проекта Spring в STS. Некоторые из вещей, которые мы показали, это выполнение приложений в STS, поддержка во время разработки Spring Data JPA и использование аргументов командной строки. Тем не менее, есть много других полезных функций, которые могут быть использованы во время разработки, так как STS предлагает богатый набор функций.

full implementation в этой статье можно найти вgithub project - это проект на основе Eclipse, поэтому его должно быть легко импортировать и запускать как есть.