Spring initializer что это
Перейти к содержимому

Spring initializer что это

  • автор:

Spring и Hibernate простыми словами: обзор для новичков

Spring и Hibernate — два популярных инструмента для Java, которые используются в разработке приложений. В этой статье мы исследуем их основные функции и особенности, как они работают вместе и почему так высоко ценятся в IT-индустрии. А сложные концепции разбираем на понятные кусочки, которые мягко введут в курс дела любого новичка: программиста, аналитика, менеджера по продукту или дизайнера.

Что такое Spring

В двух словах, Spring (англ. «весна») — это свободный комплексный фреймворк для программирования на языке Java, который упрощает разработку сложных корпоративных приложений.

Появление этого инструмента в 2002 году стало ассоциироваться с наступлением тёплой весны после долгой зимы: Род Джонсон с выходом своей книги «Expert One-on-One J2EE Design and Development» предложил новый дизайн разработки как антидот к тяжеловесным, сложным процессам программирования, которые были распространены тогда. Основной целью было упростить процесс разработки, сделать его более гибким и лёгким.

Spring — это контейнер, который может быть запущен без использования веб-сервера или серверного ПО. Это как набор инструментов, предлагающий различные модули для выполнения задач, таких как доступ к данным, безопасность, транзакции и обмен сообщениями. Красота Spring заключается в том, что вы можете использовать эти модули отдельно или вместе, в зависимости от потребностей вашего проекта.

Что такое ORM

ORM (Object-Relational Mapping) — это техника проектирования, широко используемая в Java, особенно при работе с фреймворками.

Представьте себе ORM как переводчика: в мире разработки существует языковой барьер между объектно-ориентированными языками программирования, такими как Java, и базами данных, которые понимают реляционный язык. ORM умело преодолевает этот барьер, обеспечивая возможность беспрепятственного контакта между языками. Она в основном «отображает» данные из объектной модели в реляционную.

Красота ORM заключается в её простоте и удобстве. Вместо написания сложных SQL-запросов для взаимодействия с базой данных, ORM берёт на себя тяжёлую работу по преобразованию между двумя моделями и позволяет вам взаимодействовать с данными в терминах объектов и классов. Это делает ваш код более чистым, читаемым и эффективным.

С помощью ORM вы можете больше сосредоточиться на бизнес-логике вашего приложения и меньше заботиться о технических аспектах взаимодействия с базой данных, что делает её любимым инструментом как для новичков, так и для опытных разработчиков на Java.

О модулях Spring

Spring имеет модульную структуру, т. е. состоит из различных модулей, каждый из которых выполняет определенную функцию. Это как набор инструментов: у вас есть отвёртка для винтов, молоток для гвоздей и т. д. Аналогично, в фреймворке Spring есть модули, такие как Core, AOP, Data, MVC, Boot и другие, и все они предназначены для разных аспектов разработки приложений на Java.

Теперь представьте, что вы столкнулись с упрямым винтом, который тяжело вкручивается. В этот момент внимания заслуживает Hibernate — ещё один Java-фреймворк, который упрощает работу с базами данных, действуя как смазка, которая позволяет винту (т. е. обработке данных) вращаться плавно. Hibernate часто используется в паре с Spring, и в следующих разделах статьи мы расскажем об их взаимодействии более подробно.

Spring Boot для Spring

Spring и Spring Boot представляют собой два значимых концепта в экосистеме Java. Однако понимание их различий является важным, особенно для начинающих.

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

С другой стороны, Spring Boot похож на готовый комплект для сборки. Он берёт обширный инструментарий, который представляет собой Spring, и упаковывает его в удобный набор, предназначенных для определённых задач. Например, создание автономных приложений Spring высокого качества с минимальными хлопотами. Spring Boot упрощает процесс с помощью функции автоматической конфигурации, устраняя значительную часть ручной настройки проекта. Это идеальная отправная точка для начинающих, поскольку позволяет начать работу сразу, не нуждаясь в глубоком понимании каждого инструмента из набора.

Особенности и преимущества Spring

  1. Простота, гибкость, универсальность. Фреймворк разработан для поддержки всех типов развертывания, от небольших приложений до крупных корпоративных решений. А для начинающих это означает, что кривая обучения будет крута, но потенциал для применения — огромен.
  2. Возможность внедрения зависимостей (DI). DI — это шаблон проектирования, который позволяет реализовывать слабую связь, что упрощает тестирование и поддержку кода. Его можно сравнить с личным помощником, который приносит вам то, что вам нужно, именно когда вам это нужно. Это делает процесс написания кода более гладким и эффективным, что особенно полезно для новичков.
  3. Контейнер инверсии управления (IoC) Spring предоставляет мощный способ управления компонентами вашего приложения. Это похоже на главный контроллер, который обрабатывает создание и связывание ваших объектов, что помогает избежать большого объёма ручной работы.
  4. Поддержка аспектно-ориентированного программирования (АОР). Это парадигма программирования, которая стремится увеличить модульность, позволяя разделять сквозные аспекты разработки. Она как волшебная палочка, которая может добавлять дополнительную функциональность там, где вам это нужно, не затрагивая существующий код. Это позволяет изменять подход к организации кода, что делает его более понятным для начинающих и упрощает навигацию по структуре сложных проектов.
  5. Интеграция с другими Java-фреймворками и технологиями. Spring хорошо совместим с другими популярными фреймворками, такими как Hibernate, Struts и JUnit, JPA и даже облачными платформами. Вы можете объединить преимущества различных моделей для создания надёжного и эффективного приложения. Возможность работать в гармонии с другими инструментами может значительно улучшить опыт обучения для новичков, предоставив им более широкое понимание Java-экосистемы.
  6. Spring Boot, проект в составе экосистемы Spring, предоставляет более быстрый и эффективный способ настройки и запуска приложений Spring. Он устраняет много шаблонного кода конфигурации, позволяя вам сконцентрироваться на написании бизнес-логики.

Кто и где использует Spring?

Spring Framework — незаменимый инструмент программистов разных уровней и областей. Он особенно важен для тех, кто разрабатывает приложения для предприятий. Фреймворк используют и разработчики бэкэнда, создающие надёжные API, и архитекторы ПО, проектирующие сложные системы.

Так, с ним следует познакомиться и разработчику-новичку, и опытному сеньору, и менеджеру продукта, который стремится понять технические основы своего продукта.

Как Spring помогает в работе?

Spring помогает формировать каркас, в котором будут работать программисты. У фреймворка есть своя большая библиотека разнообразных функций, которая позволяет программисту не писать код с нуля, внедряя в проект необходимый функционал.

Например, если аналитик хочет создать приложение, основанное на данных, он может использовать функцию доступа/интеграции данных Spring. Это включает поддержку JDBC, ORM, управление транзакциями и многое другое, что упрощает взаимодействие с базами данных и выполнение различных операций, таких как обновление, удаление или извлечение записей.

А вот контейнер IoC Spring выручает так: представим, что продакт-менеджер работает над проектом, который включает несколько взаимозависимых объектов. Вместо ручного управления этими зависимостями он может положиться на контейнер IoC, который берёт на себя эту ответственность. Он обрабатывает создание экземпляров, конфигурацию и сборку объектов, снижая нагрузку на программистов и повышая эффективность.

Как начать работать с фреймворком

Шаг 1: Понять основы

Прежде чем приступить к кодированию, уделите время для понимания основных концепций Spring. Ознакомьтесь с Dependency Injection (DI), Aspect Oriented Programming (AOP) и архитектурой Model-View-Controller (MVC).

Шаг 2: Установить и настроить среду

Убедитесь, что на вашем компьютере установлена последняя версия Java Development Kit (JDK). После этого вам потребуется настроить интегрированную среду разработки (IDE). Spring Tool Suite (STS) или IntelliJ IDEA отлично подходят для разработки на Spring — они имеют встроенную поддержку для Spring.

После установки (например, STS) запустите программу. Вас могут попросить выбрать рабочую область, где будут храниться ваши будущие проекты — выберите подходящее место.

Затем убедитесь, что STS знает, где установлен JDK:

«Window» -> «Preferences» -> «Java» -> «Installed JREs»

Проверьте, есть ли JDK там. Если нет, нажмите «Add», найдите место установки JDK и добавьте его.

Шаг 3: Создать первый проект

Начните с создания простого проекта в своей IDE. Spring Initializr — отличный инструмент, который поможет вам создать новый проект. Этот веб-сервис сгенерирует для вас базовую структуру проекта, которую вы сможете импортировать в свою IDE.

Затем попробуйте создать простое приложение, например, список дел. Это позволит вам ознакомиться с экосистемой Spring и тем, как взаимодействуют различные компоненты.

Что такое Hibernate

В начале статьи мы сравнили Hibernate с переводчиком. И это действительно мощный инструмент, который владеет и языком объектов и классов (на Java), и языком таблиц, строк и столбцов (в базе данных). Он переводит ваш объектно-ориентированный код в то, что способна понять ваша база данных, и наоборот.

Представьте, что вам пришлось бы вручную переводить каждое предложение между двумя людьми, которые говорят на разных языках. Довольно утомительно, верно? Hibernate автоматизирует этот процесс перевода, экономя вам много времени и усилий при разработке приложения. Более того, он берёт на себя всю сложную работу с базами данных, чтобы вы смогли сфокусироваться на логике вашего проекта.

Особенности и преимущества Hibernate

  1. Упрощенное управление данными. Снова о том самом объектно-реляционном отображении (ORM). Оно позволяет разработчикам работать с данными более интуитивно, используя объекты Java, вместо написания сложных SQL-запросов.
  1. Независимость от базы данных. Hibernate может работать с практически любым типом базы данных, будь то MySQL, Oracle или SQL Server. Это позволяет разработчикам изменять используемую систему БД, не переписывая свой код, что увеличивает гибкость и обеспечивает защиту от устаревания приложения.
  1. Оптимизация производительности. Фреймворк включает несколько функций, которые помогают оптимизировать производительность ваших приложений. Например, кэш первого уровня — хранит данные, к которым часто обращаются; ленивая загрузка — откладывает загрузку определенных данных до момента их необходимости. Обе функции могут значительно увеличить скорость и эффективность ваших приложений.
  1. Надежное управление транзакциями. Hibernate обеспечивает согласованность и целостность данных, позволяя разработчикам определить границы транзакции и автоматически управлять откатами и подтверждениями операций. Это снижает вероятность повреждения данных и делает приложение более надежным.

Кто и где использует Hibernate?

Java-, Backend-разработчики, администраторы баз данных — основные пользователи Hibernate. Этот фреймворк упрощает взаимодействие между Java-приложениями и базами данных и отлично подходят для создания, тестирования и поддержки серверной части веб-приложений. Enterprise-архитекторы отвечают за определение архитектуры программной системы. Гибкость и адаптивность Hibernate делают его мощным инструментом для них.

Что касается сфер, Hibernate используется в отраслях, где сохранение данных является неотъемлемой потребностью:

  • Электронная коммерция. Фреймворк облегчает обработку сложных каталогов товаров и больших баз данных клиентов.
  • Банки и финансы. Hibernate помогает управлять обширными записями о транзакциях и данными клиентов.
  • Здравоохранение. Записи пациентов, истории лечения и многое другое могут быть эффективно управляемыми с помощью этого фреймворка.
  • Телекоммуникации. Hibernate помогает в управлении обширными данными о клиентах и использовании продукта.
  • Образование. Онлайн-платформы для обучения используют его для управления курсами и обработки данных студентов.

Как Hibernate помогает в работе?

На примере электронной коммерции:

  • Вам нужно сохранять и извлекать данные о покупках клиентов для поддержки вашей системы рекомендаций. Вместо написания сложных SQL-запросов Hibernate позволяет вам взаимодействовать с базой данных напрямую с помощью Plain Old Java Object (POJO), делая обработку данных более интуитивной и менее подверженной ошибкам, позволяя экономить время и повышать общую производительность проекта.
  • Приложению может потребоваться обрабатывать несколько базовых транзакций одновременно. Например, когда несколько пользователей пытаются купить последний экземпляр популярного товара на вашем сайте одновременно. Сделать так, чтобы такие транзакции проходили гладко и без конфликтов, очень трудозатратно. Но Hibernate, благодаря встроенной системе управления транзакциями, справляется с этим проще. Он автоматически управляет открытием и закрытием сессий, обеспечивая выполнение всех операций безопасным и эффективным способом.

Как начать работать с Hibernate

Шаг 1: Понять основы

Hibernate — это инструмент объектно-реляционного отображения (ORM). Основная концепция, которую нужно освоить, — это то, как Hibernate отображает экземпляры классов Java на таблицы базы данных и наоборот.

Изучите такие понятия, как сессии, транзакции и отображения. Официальная документация Hibernate — первый и необходимый ресурс для изучения.

Шаг 2: Установить и настроить среду

Установите последнюю версию Java Development Kit (JDK) на ваш компьютер, затем — любую удобную для вас IDE (например, Eclipse и IntelliJ IDEA совместимы с этим фреймворком).

После этого загрузите фреймворк Hibernate ORM с официального веб-сайта Hibernate.

Шаг 3: Создать первый проект

Создайте новый проект в вашей IDE, дайте ему удобное название, например, FirstHibernateProject.

Чтобы использовать Hibernate в вашем проекте, вам необходимо добавить его библиотеку. Перейдите в «Project Structure» или «Properties» (в зависимости от вашей IDE), выберите «Libraries», а затем «Add Library». Найдите Hibernate и добавьте его в ваш проект.

Затем настройте файл hibernate.cfg.xml, чтобы подключить фреймворк к вашей базе данных. Этот файл важен, так как содержит информацию о конфигурации Hibernate: детали базы данных, учётные данные и файлы сопоставления.

Теперь можно начинать решать простые задачи. Например, создать Java-объект и отобразить его на таблицу базы данных. Для этого напишите код для выполнения основных операций с базой данных — создание, чтение, обновление и удаление (CRUD).

По мере того, как вы становитесь более уверенными, переходите к более сложным задачам, таким как отношения между таблицами и стратегии извлечения данных. Используйте онлайн-учебники, официальную документацию и форумы сообщества, чтобы решать вопросы и улучшать понимание фреймворков.

И помните, что практика — ключ к глубокому и увлекательному изучению новых технологий и инструментов. Опыта и компетенций экспертов международного онлайн-университета ProductStar хватит на то, чтобы теперь помочь вам уверенно встать на путь Java-разработчика: научиться программировать на Java, получить специализацию (Android, WebDev), добавить сильные кейсы в портфолио и пройти стажировку в IT-компании уже во время обучения.

  • Блог компании ProductStar
  • Java

Создание приложений с Spring Boot

Этот урок показывает пример того, как Spring Boot помогает вам ускорить и облегчить разработку приложений. Из учебных материалов вы увидите случаи использования Spring Boot. Если вы хотите создать проект на его основе, то посетите Spring Initializr, заполните онформацию о проекте, выберите опции и вы сможете загрузить файл сборки Maven, либо Gradle, либо как проект в виде zip-файла.

Что вы создадите

Вы создадите простое web-приложение с Spring Boot и добавите в него несколько полезных сервисов.

Что вам потребуется

  • Примерно 15 минут свободного времени
  • Любимый текстовый редактор или IDE
  • JDK 6 и выше
  • Gradle 1.11+ или Maven 3.0+
  • Вы также можете импортировать код этого урока, а также просматривать web-страницы прямо из Spring Tool Suite (STS), собственно как и работать дальше из него.

Как проходить этот урок

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

Чтобы начать с нуля, перейдите в Настройка проекта.

  • Загрузите и распакуйте архив с кодом этого урока, либо кнонируйте из репозитория с помощью Git: git clone https://github.com/spring-guides/gs-spring-boot.git
  • Перейдите в каталог gs-spring-boot/initial

Когда вы закончите, можете сравнить получившийся результат с образцом в gs-spring-boot/complete .

Настройка проекта

Для начала вам необходимо настроить базовый скрипт сборки. Вы можете использовать любую систему сборки, которая вам нравится для сборки проетов Spring, но в этом уроке рассмотрим код для работы с Gradle и Maven. Если вы не знакомы ни с одним из них, ознакомьтесь с соответсвующими уроками Сборка Java-проекта с использованием Gradle или Сборка Java-проекта с использованием Maven.

Создание структуры каталогов

В выбранном вами каталоге проекта создайте следующую структуру каталогов; к примеру, командой mkdir -p src/main/java/hello для *nix систем:

└── src └── main └── java └── hello

Создание файла сборки Gradle

Ниже представлен начальный файл сборки Gradle. Файл pom.xml находится здесь. Если вы используете Spring Tool Suite (STS), то можете импортировать урок прямо из него.

Если вы посмотрите на pom.xml , вы найдете, что указана версия для maven-compiler-plugin. В общем, это не рекомендуется делать. В данном случае он предназначен для решения проблем с нашей CI системы, которая по умолчанию имеет старую(до Java 5) версию этого плагина.

buildscript < repositories < mavenCentral() >dependencies < classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.8.RELEASE") >> apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' apply plugin: 'spring-boot' jar < baseName = 'gs-spring-boot' version = '0.1.0' >repositories < mavenCentral() >dependencies < // tag::jetty[] compile("org.springframework.boot:spring-boot-starter-web") < exclude module: "spring-boot-starter-tomcat" >compile("org.springframework.boot:spring-boot-starter-jetty") // end::jetty[] // tag::actuator[] compile("org.springframework.boot:spring-boot-starter-actuator") // end::actuator[] testCompile("junit:junit") > task wrapper(type: Wrapper)

Spring Boot gradle plugin предоставляет множество удобных возможностей:

  • Он собирает все jar’ы в classpath и собирает единое, исполняемое «über-jar», что делает более удобным выполнение и доставку вашего сервиса
  • Он ищет public static void main() метод, как признак исполняемого класса
  • Он предоставляет встроенное разрешение зависимостей, с определенными номерами версий для соответсвующих Spring Boot зависимостей. Вы можете переопределить на любые версии, какие захотите, но он будет по умолчанию для Boot выбранным набором версий

Узнайте, что вы можете делать с Spring Boot

Spring Boot предлагает быстрый путь для создания приложений. Он просматривает ваш classpath и бины, которые вы сконфигурировали, делает предположения о том, что нехватает и добавляет их. С Spring Boot вы можете сконцентрироваться больше на решении бизнес задач и меньше на инфраструктуру.

  • Требуется Spring MVC? Некоторые определенные бины вам почти всегда необходимы и Spring Boot добавит для них автоматически. Spring MVC приложению также необходим сервлет контейнер, поэтому Spring Boot автоматически настроит встроенный Tomcat
  • Требуется Jetty? Если так, то скорее всего вам не нужен Tomcat, а вместо него нужен встроенный Jetty. Spring Boot обработает эту задачу для вас
  • Требуется Thymeleaf? Для этого несколько бинов должны всегда быть добавлены в контекст вашего приложения; Spring Boot добавит их для вас

Это лишь несколько примеров, которые предоставляет автоманическая настройка Spring Boot. В то же время, Spring Boot не заработает с вашими настройками. Например, если Thymeleaf в вашем classpath, то Spring Boot добавит SpringTemplateEngine в ваш контекст приложения автоматически. Но если вы определите свой собственный SpringTemplateEngine с вашими настройками, то Spring Boot не добавит его. Это останется под вашим контролем и потребует от вас немного усилий.

Spring Boot не генерирует код и не редактирует ваши файлы. Вместо этого, когда вы поднимаете ваше приложение, Spring Boot динамически инициализирует бины и настройки и применяет их к вашему контексту приложения.

Создание простого web приложения

Теперь вы можете создать web контроллер для простого web приложения.

package hello; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController < @RequestMapping("/") public String index() < return "Greetings from Spring Boot!"; >>

Класс помечен как @RestController , означая, что он готов к использованию Spring MVC для обработки запросов. RequestMapping соответствует / метода index() . При вызове из браузера или использовании curl в командной строке, метод возвращает чистый текст. Т.к. @RestController сочетает в себе @Controller и @ResponseBody , две аннотации в результате web запросов возвращают данные, а не представление.

Создание Application класса

Здесь вы создаете Application класс с компонентами:

package hello; import java.util.Arrays; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration @EnableAutoConfiguration @ComponentScan public class Application < public static void main(String[] args) < ApplicationContext ctx = SpringApplication.run(Application.class, args); System.out.println("Let's inspect the beans provided by Spring Boot:"); String[] beanNames = ctx.getBeanDefinitionNames(); Arrays.sort(beanNames); for (String beanName : beanNames) < System.out.println(beanName); >> >
  • @Configuration помечает класс как источник определения бинов для контекста приложения
  • @EnableAutoConfiguration говорит Spring Boot о запуске добавления бинов в соответствии с содержанием classpath и других бинов, а также различных параметров настроек
  • Обычно вы добавили бы @EnableMVC для Spring MVC, но Spring Boot добавляет её автоматически, когда видит spring-webmvc в classpath. Этот флаг помечает приложение как web приложение и активирует ключевые действия, такие как настройка DispatcherServlet
  • @ComponentScan говорит Spring о том, чтобы просмотреть все компоненты, конфигурации и сервисы в пакете hello , сто позволяет ему найти HelloController

Метод main() используется Spring Boot методом SpringApplication.run() для запуска приложения. Вы обратили внимание, что нет ни одной строчки на XML? Файла web.xml нет вообще. Это приложение на 100% из чистой Java и вы ничего не делали для настройки какого-либо инструмента или инфраструктуры.

Метод run() возвращает ApplicationContext и этому приложению отдаются все бины, которые были созданы вашим приложением или автоматически добавлены благодаря Spring Boot. Метод сортирует бины и печатает их имена.

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

Для запуска приложения выполните:

./gradlew build && java -jar build/libs/gs-spring-boot-0.1.0.jar

Если вы используете Maven, то:

mvn package && java -jar target/gs-spring-boot-0.1.0.jar

Вы должны увидеть примерно такое:

Let's inspect the beans provided by Spring Boot: application beanNameHandlerMapping defaultServletHandlerMapping dispatcherServlet embeddedServletContainerCustomizerBeanPostProcessor handlerExceptionResolver helloController httpRequestHandlerAdapter messageSource mvcContentNegotiationManager mvcConversionService mvcValidator org.springframework.boot.autoconfigure.MessageSourceAutoConfiguration org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration$DispatcherServletConfiguration org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration$EmbeddedTomcat org.springframework.boot.autoconfigure.web.ServerPropertiesAutoConfiguration org.springframework.boot.context.embedded.properties.ServerProperties org.springframework.context.annotation.ConfigurationClassPostProcessor.enhancedConfigurationProcessor org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor org.springframework.context.annotation.internalAutowiredAnnotationProcessor org.springframework.context.annotation.internalCommonAnnotationProcessor org.springframework.context.annotation.internalConfigurationAnnotationProcessor org.springframework.context.annotation.internalRequiredAnnotationProcessor org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration propertySourcesBinder propertySourcesPlaceholderConfigurer requestMappingHandlerAdapter requestMappingHandlerMapping resourceHandlerMapping simpleControllerHandlerAdapter tomcatEmbeddedServletContainerFactory viewControllerHandlerMapping

Вы можете явно видеть org.springframework.boot.autoconfigure бины. А также tomcatEmbeddedServletContainerFactory .

$ curl localhost:8080 Greetings from Spring Boot!

Добавление сервисов бизнес-уровня

Если вы создаете web-сайт для вашего бизнеса, то вам скорее всего необходимо добавить некоторые сервисы для управления. Spring Boot предоставляет несколько таких «из коробки» в одном из своих модулей, таких как состояние, аудит, бины и другие.

Добавьте это в список зависимостей вашего файла сборки:

compile("org.springframework.boot:spring-boot-starter-actuator")

Если вы используете Maven, то добавьте это в список зависимостей:

 org.springframework.boot spring-boot-starter-actuator 

Затем перезапустите приложение:

./gradlew build && java -jar build/libs/gs-spring-boot-0.1.0.jar

Если вы используете Maven, то:

mvn package && java -jar target/gs-spring-boot-0.1.0.jar

Вы увидите новый набор RESTful точек выхода, добавленных в приложение. Это сервисы управления, предоставленные Spring Boot:

2014-06-03 13:23:28.119 . : Mapped "<[/error],methods=[],params=[],headers=[],consumes. 2014-06-03 13:23:28.119 . : Mapped "<[/error],methods=[],params=[],headers=[],consumes. 2014-06-03 13:23:28.136 . : Mapped URL path [/**] onto handler of type [class org.spri. 2014-06-03 13:23:28.136 . : Mapped URL path [/webjars/**] onto handler of type [class . 2014-06-03 13:23:28.440 . : Mapped "<[/info],methods=[GET],params=[],headers=[],consum. 2014-06-03 13:23:28.441 . : Mapped "<[/autoconfig],methods=[GET],params=[],headers=[]. 2014-06-03 13:23:28.441 . : Mapped "<[/mappings],methods=[GET],params=[],headers=[],co. 2014-06-03 13:23:28.442 . : Mapped "<[/trace],methods=[GET],params=[],headers=[],consu. 2014-06-03 13:23:28.442 . : Mapped "<[/env/],methods=[GET],params=[],headers=. 2014-06-03 13:23:28.442 . : Mapped "<[/env],methods=[GET],params=[],headers=[],consume. 2014-06-03 13:23:28.443 . : Mapped "<[/configprops],methods=[GET],params=[],headers=[]. 2014-06-03 13:23:28.443 . : Mapped "<[/metrics/],methods=[GET],params=[],head. 2014-06-03 13:23:28.443 . : Mapped "<[/metrics],methods=[GET],params=[],headers=[],con. 2014-06-03 13:23:28.444 . : Mapped "<[/health],methods=[GET],params=[],headers=[],cons. 2014-06-03 13:23:28.444 . : Mapped "<[/dump],methods=[GET],params=[],headers=[],consum. 2014-06-03 13:23:28.445 . : Mapped "<[/beans],methods=[GET],params=[],headers=[],consu.

Также есть /shutdown , но она видна по умолчанию только через JMX. Для включения её к общедоступным, добавьте endpoints.shutdown.enabled=true в ваш application.properties файл.

это легко проверить по состоянию приложения:

$ curl localhost:8080/health ok

Вы можете попытаться вызвать завершение работы через curl:

$ curl -X POST localhost:8080/shutdown

Т.к. мы не включили его, запрос блокирован, потому что его не существует.

Более подробную информацию о каждом из этих REST сервисов и о том, как вы можете настраивать под себя в application.properties , вы можете прочитать в документации.

Просмотр Spring Boot starters

Последний пример показал как Spring Boot упрощает инициализацию бинов, о которых вы не знаете, что они вам нужны. И он показал, как подклюсить удобные для управления сервисы.

Но Spring Boot делает ещё большее. Он поддерживает не только традиционное использование WAR файлов, но также сборку исполняемых JAR файлов, благодаря модулю загрузчика Spring Boot. Различные уроки демонстрируют эту двойную поддержку через spring-boot-gradle-plugin и spring-boot-maven-plugin .

ко всему прочему, Spring Boot поддерживает Groovy, позволяя вам создавать Spring MVC приложения в небольшом и единственном файле.

Создайте новый файл app.groovy и поместите в него приведенный ниже код:

@RestController class ThisWillActuallyRun < @RequestMapping("/") String home() < return "Hello World!" >>

Не имеет значения, где расположен файл. Можете даже гордится приложением, как мало нужно всего лишь для единственного твита!

$ spring run app.groovy

Предполагается, что вы завершите предыдущее приложение во избежание конфликта портов.

Давайте проверим, что получилось:

$ curl localhost:8080 Hello World!

Spring Boot динамически добавляет аннотации к вашему коду и использует Groovy Grape для подтягивания необходимых для запуска приложения библиотек. Смотрите документацию, если хотите копнуть шлубже.

Итог

Поздравляем! Вы только что создали простое web приложени с использованием Spring Boot и изучили как нарастить ваш темп разработки. вы также настроили некоторые удобные сервисы. Это только малая часть того, что может делать Spring Boot.

С оригинальным текстом урока вы можете ознакомиться на spring.io.

Spring Initializr: создаём maven-проект на Java

Чтобы каждый раз не создавать с нуля Spring проект на Java и не искать последние версии зависимостей, можно воспользоваться сервисом Spring Initializr, который предоставляет интерфейс для генерации заготовки проекта с добавлением стандартных зависимостей. Их можно конфигурировать в зависимости от ваших потребностей. В качестве сборщика проекта выберем Maven, и Spring Initializr автоматически сгенерирует скрипт сборки. Затем мы скачаем эту заготовку и запустим её в IntelliJ Idea от JetBrains.

Поскольку данный процесс лучше показывать визуально, я снял подробное видео и выложил его на YouTube.

Кстати, подписывайтесь на канал, т.к. это по сути одно из первых моих видео.

Spring Initializr: создаём Gradle-проект на Kotlin

Чтобы каждый раз не создавать с нуля Spring проект на Kotlin и не искать последние версии зависимостей, можно воспользоваться сервисом Spring Initializr, который предоставляет интерфейс для генерации заготовки проекта с добавлением стандартных зависимостей. Их можно конфигурировать в зависимости от ваших потребностей. В качестве сборщика проекта выберем Gradle, и Spring Initializr автоматически сгенерирует скрипт сборки на Kotlin DSL. Затем мы скачаем эту заготовку и запустим её в IntelliJ Idea от JetBrains.

Поскольку данный процесс лучше показывать визуально, я снял подробное видео и выложил его на YouTube.

Кстати, подписывайтесь на канал и ставьте лайки, т.к. это по сути первое моё видео.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *