Spring boot что это такое для новичка
Перейти к содержимому

Spring boot что это такое для новичка

  • автор:

Spring — это не страшно, или как стартовать WEB-сервер со Spring Boot за 5 минут

— это настройки, конкретно тут указан уровень Java. говорит, что все зависимости будут выкачены с версией, которая соответствует указанной (2.2.0.RELEASE). содержит тот самый spring-boot-starter-web, который стартанет. Версия тут не нужна, так как она указана в В пакете java необходимо создать пакет: ru.java.rush . В созданном пакет создаем класс Applications и наполняем следующим содержимым:

 package ru.java.rush; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Applications < public static void main(String[] args) < SpringApplication.run(Applications.class); >> 

Давайте стартанем проект с помощью зеленой кнопки. Когда в консоли появятся логи:

 2020-12-05 21:05:27.598 INFO 2546 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2020-12-05 21:05:27.601 INFO 2546 --- [ main] ru.java.java_rush.Applications : Started Applications in 0.971 seconds (JVM running for 1.446) 

Это будет значить, что TomcatWebServer стартанул на порту 8080. Давайте откроем браузер и наберем http://localhost:8080/ Так как никакой информации сервер не отправляет, то отобразится примерно следующее:

 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Sat Dec 05 21:36:10 MSK 2020 There was an unexpected error (type=Not Found, status=404). No message available 

Но сервер работает: попробуйте остановить приложение, а потом обновить страницу браузера, и он скажет, что «Страница не найдена». Вы только что написали приложение на Java, которое поднимает веб-сервер! Тоже самое без Spring заняло бы времени в десять раз больше, а нервов — в тысячу! В общем, изучайте Spring, не бойтесь, постепенно двигайтесь к цели, и у вас все получится! Давайте теперь посмотрим, как быстро подключить сюда учебную базу. Основная цель цикла статей – это показать, что не стоит бояться пробовать учиться Spring framework и Spring boot, это не так сложно, как может показаться. Однако без знания JavaCore, и основных понятий ООП(класс, интерфейс, наследование и пр.) ваше время будет потеряно зря. Если у вас нет этих знаний, не отчаиваетесь, 1 — 2 месяца учебы все исправят, после того как освоите возвращайтесь сюда. Если не знаете с чего начать то возьмите это: «Java 8. Руководство для начинающих. Герберт Шилдт» . Цикл статей познакомит вас с основными современными практическими темами, касательно Spring framework и Spring boot. Формат каждой статьи предполагает один небольшой пример (или переходящий на несколько статей пример), небольшое объяснение и ссылки на теорию или на другие примеры, так же всячески поощряется самостоятельный поиск дополнительной информации по теме. Предполагается, что по окончанию цикла вы должны будете уметь создать небольшое вэб-приложение на основании технологий Spring framework и Spring boot. Для понимания что такое Spring прочитайте прямо сейчас эту простую и понятную статью: Spring для ленивых. Основы, базовые концепции и примеры с кодом.. Если ищете более серьезную информацию по теме, то ознакомьтесь со следующим списком: Переводные и не такие простые для понимания, статьи с Хабра: Что такое Spring Framework? От внедрения зависимостей до Web MVC Spring MVC: создание веб-сайтов и RESTful сервисов Переводная документация, очень рекомендую прямо сейчас по смотреть что там есть Книги! Для начала нужно ими обзавестись, читать, конечно, следует небольшими порциями: Spring в действии | Уоллс Крейг (Spring 3) – рекомендую начать именно с этой книги, прочитав только первую главу(так как остальное уже устарело), можно поискать в интернете В сети гуляет частичный перевод Spring в действии | Уоллс Крейг (Spring 5) – можно по пробовать взять ее за основу, изложение оригинальной книги простое и с примерами. Хорошим вариантом основного источника знаний является: Spring 5 для профессионалов | Козмина Юлиана, Харроп Роб – на русском языке, можно поискать в интернете Книга объемная и академичная, чтобы после прочтения двух страниц в ней не разочароваться, вы должны это понимать. Лично я делал так: читал какую-то часть в книге (иногда не один раз), а потом шел искать по этой теме примеры в интернете.

Уроки Java Spring Boot

Уроки Java Spring Boot / #1 - Создание веб-сайта на Java

Уроки Java Spring Boot / #1 — Создание веб-сайта на Java

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

Видеоурок

Полезные ссылки:

  • Официальный сайт IntelliJ IDEA ;
  • Официальный сайт Spring ;
  • Конструктор проекта на Spring.
Информация про Java Spring Boot

Платформа Java Spring Boot была впервые выпущена в 2004 году. С тех пор платформа постоянно обновляется и пополняется новыми функциями. На сегодняшний день платформа является наиболее продвинутым фреймворком для создания веб сайтов на основе языка Java.

C первых дней выпуска Spring был тепло встречен разработчиками Java, так как это был первый достойный конкурент технологии JavaBeans . JavaBeans, как и Spring, предоставляют набор различных решений для реализации веб проектов.

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

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

Технология MVC

Spring реализует шаблон проектирования MVC. MVC расшифровывается как «model-view-controller» или же модель вид контроллер. Данный шаблон позволяет структурировать все файлы внутри проекта и делает чтобы каждый файл отвечал лишь за свою часть работы.

Рассмотрим простой запрос к веб сайту, написанному на Spring Boot. Когда пользователь переходит на какую-либо страницу сайта, то переход отслеживается в контроллере. Контроллер понимает по какому URL адресу перешёл пользователь и далее обращается к модели. Модели могут обратиться к базе данных, получить оттуда какие-то значение, выполнить различные вычисления и далее вернуть эти данные обратно в контроллер. Далее контроллер передает все данные в шаблон, который как раз и показывается пользователю. Шаблон в свою очередь представляет из себя простую HTML страницу с различными текстами, кнопками, картинками и прочим.

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

Создание проекта

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

В случае использования сервиса Start Spring.io вы можете выбрать нужные для вас пакеты, после чего нажать на клавишу «Generate» для генерации и скачивания архивного проекта.

Чтобы открыть проект вы можете воспользоваться любой средой разработки, к примеру программой IntelliJ IDEA .

План курса

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

К концу курса у вас будет достаточно знаний чтобы начать разрабатывать сайты на основе Java Spring.

Перед изучением курса вам необходимо ознакомиться с языками для вёрстки сайта: HTML , CSS и JavaScript . Также вам необходимо обладать навыками работы с языком Java прежде чем изучать платформу Спринг. Все дополнительные курсы можно посмотреть на нашем ресурсе.

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

Аватарка эксперта Юрий Авраменко

Юрий Авраменко
Senior Software Developer

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

Первоначальная настройка приложения

Переходим на сайт Spring Initializr и подготавливаем минимальный шаблон для нашего будущего приложения:

Spring Boot: быстрое знакомство и старт на примере простого веб-приложения 1

Создание каркаса проекта

В левой части оставляем настройки по умолчанию, кроме версии Java (будет достаточно 8), и заполняем Project Metadata.

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

  • Spring Web — модуль, включающий необходимые компоненты для веб-приложения и имеющий встроенный контейнер сервлетов Apache Tomcat.
  • Spring Data JPA — библиотека, используемая для взаимодействия с сущностями базы данных.
  • H2 Database — очень удобная база данных. Располагается в памяти, следовательно, хранит данные только пока запущено приложение. Не используется в продакшене, но для знакомства в этом проекте её будет достаточно.
  • Apache Freemarker — шаблонизатор, будем использовать его для генерации HTML-страниц.

Всё готово, нажимаем GENERATE и получаем архив с исходным кодом проекта. Это минимальный каркас, который импортируем в используемую IDE.

В этом проекте используется IntelliJ IDEA.

Следуем по пути File -> New -> Project from Existing Sources, в диалоговом окне выбираем папку, где находится pom.xml файл проекта. Импортируем проект.

Spring Boot: быстрое знакомство и старт на примере простого веб-приложения 2

Настройка импорта

В следующих диалоговых окнах все настройки оставляем по умолчанию. Единственное, в одном из окон удостоверимся, что имеем ранее установленную JDK соответствующей версии, в данном случае 8.

Spring Boot: быстрое знакомство и старт на примере простого веб-приложения 3

Импорт проекта

Если JDK не была установлена ранее, её можно скачать с официального сайта.

Все остальные окна кликаем Next и в последнем — Finish.

Кратко рассмотрим структуру проекта. В первую очередь интересны:

  • файл pom.xml — файл с описанием всех зависимостей, необходимых для приложения;
  • файл application.properties — файл с настройками проекта;
  • каталог java — основной каталог пакетов и классов;
  • каталог resources — каталог для хранения ресурсов (шаблоны, файлы настроек, локализации и т.д.).

Создадим дополнительные пакеты :

  • entity для сущностей, в текущем проекте это будет класс Task;
  • controller для классов контроллера;
  • repository для слоя Repository, интерфейс с описанием общих методов, которые будут использоваться при взаимодействии с базой данных;
  • service для классов с бизнес-логикой.

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

Создадим класс Task в пакете entity

package com.myorganization.Organizer.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import java.util.Date; @Entity public class Task < @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id; private Integer priorityId; private String description; private Date date; public Task() < >public Task(Integer id, Integer priorityId, String description, Date date) < this.id = id; this.priorityId = priorityId; this.description = description; this.date = date; >public Integer getId() < return id; >public void setId(Integer id) < this.id = id; >public Integer getPriorityId() < return priorityId; >public void setPriorityId(Integer priorityId) < this.priorityId = priorityId; >public String getDescription() < return description; >public void setDescription(String description) < this.description = description; >public Date getDate() < return date; >public void setDate(Date date) < this.date = date; >> 

Класс помечен аннотацией @Entity. Она указывает на то, что данный класс является сущностью и будет сохраняться в БД.

Данная сущность имеет первичный ключ поле id. Поле помечено аннотацией @Id и аннотацией @GeneratedValue, которая задает стратегию генерации первичного ключа как автоматическую генерацию, в этой сущности – целые числа в порядке возрастания.

Создадим интерфейс TaskRepository в пакете repository

package com.myorganization.Organizer.repository; import com.myorganization.Organizer.entity.Task; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository public interface TaskRepository extends JpaRepository

Класс унаследован от JpaRepository – интерфейса фреймворка Spring Data, предоставляющего набор стандартных методов JPA для работы с БД. Для данного приложения нет необходимости создавать дополнительные методы.

Создадим класс TaskService в пакете service

package com.myorganization.Organizer.service; import com.myorganization.Organizer.entity.Task; import com.myorganization.Organizer.repository.TaskRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import java.util.List; @Service public class TaskService < @Autowired private TaskRepository taskRepository; public List getAll() < return taskRepository.findAll(Sort.by(Sort.Order.asc("date"), Sort.Order.desc("priorityId"))); >public Task save(Task task) < return taskRepository.save(task); >public void delete(int id) < taskRepository.deleteById(id); >> 

Класс содержит три метода для работы с задачами:

  • getAll() – метод, возвращающий все задачи, отсортированные в порядке возрастания даты и порядке убывания приоритета.
  • save(Task task) – метод создания новой задачи.
  • delete(int id) – метод, удаляющий задачу по переданному id.

Создадим контроллер TaskController в пакете controller

package com.myorganization.Organizer.controller; import com.myorganization.Organizer.entity.Task; import com.myorganization.Organizer.service.TaskService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import java.util.List; @Controller public class TaskController < @Autowired private TaskService taskService; @GetMapping("/") public String getAll(Model model) < List taskList = taskService.getAll(); model.addAttribute("taskList", taskList); model.addAttribute("taskSize", taskList.size()); return "index"; >@RequestMapping("/delete/") public String deleteTask(@PathVariable int id) < taskService.delete(id); return "redirect:/"; >@PostMapping("/add") public String addTask(@ModelAttribute Task task) < taskService.save(task); return "redirect:/"; >> 

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

Замечание. Более правильно было бы добавить еще один интерфейс TaskService, который будет реализовывать существующий класс TaskService (изменим название на TaskServiceImpl), но в рамках этого приложения делать это не будем.

Создадим index.ftlh – шаблон для Freemarker в каталоге resources/templates

Organizer Organizer Add task to list Priority Description Date Task list(task count : $) Id Priority Task description Date Delete from list $ $ $ $ Delete 

Стандартный HTML-файл. Единственное отличие – это конструкции вида $ и обозначение списка , вместо которых Freemarker подставит нужные нам значения.

Добавим простой CSS-файл style.css в каталоге resources/static/css:

table < border-collapse: collapse; >table th, table td

Spring Boot: быстрое знакомство и старт на примере простого веб-приложения 4

Проект готов к запуску и работе

Запускаем первое приложение на Spring Boot

Переходим к классу OrganizerApplication.class. Он был сформирован автоматически на первом шаге конфигурации каркаса проекта. Его содержимое:

package com.myorganization.Organizer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class OrganizerApplication < public static void main(String[] args) < SpringApplication.run(OrganizerApplication.class, args); >> 

Переходим в меню >Run-> Run ‘OrganizerApplication’ или запускаем через сочетание клавиш Shift+F10. Процесс запуска отобразится в консоли ниже.

Переходим в браузер, набираем в адресной строке адрес localhost:8080 и наблюдаем работающий прототип приложения Organizer.

Spring Boot: быстрое знакомство и старт на примере простого веб-приложения 5

Органайзер на Spring Boot

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

Посмотрите также 10 шпаргалок для веб-разработчика. Там есть видеокурс по Spring Boot.

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

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