#java #spring #spring-boot #hibernate
Вопрос:
Я изучаю Java SE и Spring Boot уже полгода, и смотрел разные курсы, и они преподают по-разному, и я просто не понимаю, какой из них что делает?
В одном курсе мы используем Eclipse, Spring MVC и Hibernate с MySQL и пишем все, например, сервлет, файл конфигурации Hibernate, фабрику, сеанс, и это просто немного сложно, например, как выполнить запрос. В другом курсе мы используем Spring Initializr, Maven, REST API с PostgreSQL, и это намного проще, мы реализуем репозиторий CRUD, и всего в одной строке мы можем выполнить запрос.
И в этот момент я теряюсь. Это то, о чем я только что упомянул, для чего именно мы их используем? Почему мы не используем простой способ на первом курсе? Что мы сделали во второй раз, чтобы мне не нужно было создавать фабрику и сеанс для выполнения простого запроса?
Есть ли какой-нибудь пост, видео или что-нибудь об этом, чтобы я мог это понять?
Ответ №1:
Всегда существуют разные способы решения одной и той же проблемы. Spring Boot предлагает вам множество функций, упрощающих вашу разработку. Но вам не обязательно их использовать. Вы всегда можете попытаться реализовать что-то самостоятельно. Но в большинстве случаев встроенных функций, таких как хранилище CRUD, достаточно для решения вашей проблемы. Я не могу назвать вам точные причины, по которым автор первого курса поступил именно так. Может быть, он или она хотели показать принципы, которые скрыты за чертами лица. Может быть, это просто более старый курс или он предназначен для весны, а не для весенней загрузки. Spring Boot упростил настройку Spring и сделал много улучшений.
Комментарии:
1. Спасибо за быстрый ответ! То есть вы хотите сказать, что со всеми этими заводскими, сессионными вещами мы в основном делаем то же самое и с другим курсом, просто более простым способом? И у меня есть Весна, Весенний ботинок, Весенний MVC. Это разные вещи, что? Извините, не мог бы спросить лучше 😀
Ответ №2:
Spring Framework существует уже очень давно, способы, которые вы видели, являются действительными, и, насколько я понял из ваших утверждений, один из способов-это работа с Spring MVC, а второй-работа с spring boot, и spring boot делает все очень просто. Вам нужно понять разницу между фреймворком spring MVC и spring-boot. В spring MVC Framework мы управляем файлами конфигурации, такими как XML-файлы, а также запускаем запросы, сначала открывая сеанс, а затем только мы можем выполнять запросы. Но в Spring-boot все это происходит за кулисами, и именно поэтому работать с spring-boot становится так легко, но в любом случае нам все равно нужно понимать все это, чтобы правильно работать с этой платформой.
Spring MVC-это полная HTTP-ориентированная платформа MVC, управляемая Spring Framework и основанная на сервлетах. Это было бы эквивалентно JSF в стеке JavaEE. Наиболее популярными элементами в нем являются классы с аннотацией @Controller, в которых реализуются методы, к которым можно получить доступ с помощью различных HTTP-запросов. Он имеет эквивалентный @RestController для реализации API на основе REST.
Spring boot-это утилита для быстрой настройки приложений, предлагающая готовую конфигурацию для создания приложений на базе Spring. Как вы, возможно, знаете, Spring объединяет широкий спектр различных модулей под своим зонтиком, таких как spring-core, spring-data, spring-web (который, кстати, включает Spring MVC) и так далее. С помощью этого инструмента вы можете указать Spring, сколько из них использовать, и вы получите быструю настройку для них (позже вам будет разрешено изменить ее самостоятельно).
Spring boot-это всего лишь инструмент автоматической настройки. Spring MVC-это веб-фреймворк
Весенняя загрузка = Spring MVC Автоматическая настройка(не нужно писать xml-файл для конфигураций) Сервер(у вас может быть встроенный сервер).
Ответ №3:
Java EE, Spring и Springboot-это не одно и то же.
Spring основан на Java EE. Spring boot-это «расширение» Spring, особенно с автоматической настройкой.
Комментарии:
1. А как насчет Spring MVC, Hibernate и Maven(или другого, я не знаю его названия). Для чего они нужны?
2. Spring MVC используется Springboot. Maven-это инструмент для управления и автоматизации производства программных проектов Java в целом и Java EE в частности. Maven поставляется с pom.xml файл, в котором вы заполняете зависимости вашего проекта и то, как ваш проект должен быть построен и упакован. Hibernate-это структура объектно-реляционного сопоставления
Ответ №4:
Существует несколько фреймворков или библиотек, которые имеют свои преимущества и недостатки, однако вам необходимо выбрать пакет технологий, соответствующий требованиям вашего конкретного приложения.
Поэтому ,если вам нужно создать веб-приложение , вы можете использовать Java-сервлет,но вам придется самостоятельно решать множество задач,и это требует много настроек, но есть много фреймворков, таких как Spring, Struts и т. Д., Что облегчает работу
Аналогичным образом вы можете вручную управлять зависимостями или использовать Maven или gradle для обработки зависимостей и процесса построения
Аналогичным образом, если вам нужно подключиться к базе данных, вы можете напрямую использовать JDBC, но доступно несколько ORM(объектно-реляционных картографов), которые облегчат задачу, например, Hibernate, Jooq и т. Д
Что касается вашего вопроса , существует Spring framework, а также SpringBoot, основной девиз Springboot заключается в том, что он предпочитает «соглашения конфигурации», что означает, что для начала вам нужно написать очень мало кода, и он поставляется со многими стартовыми пакетами, которые в основном в значительной степени предварительно настроены, поэтому вы можете легко создавать приложения
Различные фреймворки и библиотеки имеют свою собственную кривую обучения, но они сокращают время, необходимое для настройки и устранения неполадок
Ответ №5:
Прочитайте о Spring MVC и фреймворке Spring-boot. То, что вы упомянули, во-первых, это spring mvc, а во-вторых, это платформа загрузки spring. заставьте вас понять такие вопросы, как: какую проблему решает spring boot ?? это было или есть в весеннем mvc.
Ответ №6:
JPA: Java Persistence API (JPA) является одним из возможных подходов к ORM. С помощью JPA разработчик может сопоставлять, хранить, обновлять и извлекать данные из реляционных баз данных с объектами Java и наоборот.
Hibernate: Hibernate-это инструмент объектно-реляционного отображения(ORM) с открытым исходным кодом для Java. Он обеспечивает основу для сопоставления объектно-ориентированной модели предметной области с традиционной реляционной базой данных.
MVC: Контроллер представления модели (MVC)-это архитектурный шаблон, который разделяет приложение на три основных логических компонента: модель, представление и контроллер.
JAVA: Один из наиболее широко используемых языков программирования, Java используется в качестве языка на стороне сервера для большинства внутренних проектов разработки, в том числе связанных с большими данными и разработкой Android.
Springboot: Spring Boot-это микро-фреймворк с открытым исходным кодом. Spring Boot помогает разработчикам создавать приложения, которые просто запускаются. Springboot-это JAVA-фреймворк.
REST: Передача репрезентативного состояния (REST) — это архитектурный стиль программного обеспечения, который определяет набор ограничений, используемых для создания веб-служб.