Руководство по весне в 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, зависимостях, используемых пространствах имен и, кроме того, извлекает обзоры для определенных стереотипов.
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 контейнера предварительно регистрирует его для проекта.
7. Поиск типа баночки
«Поиск типа 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, поэтому его должно быть легко импортировать и запускать как есть.