Страницы

Поиск по вопросам

четверг, 28 ноября 2019 г.

В чем различие между Spring Framework и Spring Boot

#spring #java


Необходимо написать сайт с использованием Spring и Hibernate. 
Что лучше выбрать для первого раза: Spring Framework или Spring Boot?     


Ответы

Ответ 1



Не уверен в том, насколько хорошо вы представляете разницу между Spring Boot и Spring MVC, поэтому попробую объяснить. Spring MVC это фреймворк для разработки Web приложений. Внутри себя он использует Spring Core (т.е. все компоненты, как ваши так и самого фреймворка, являются бинами в контейнере, который управляет как их жизненным циклом, так и их зависимостями). Причем здесь, Spring Boot? Для того, чтобы развернуть типичное приложение на Spring MVC и, скажем, Hibernate от вас, как от программиста, потребуется написать некоторое количество кода. Причем, как правило, у стандартных проектов этот конфигурационный код одинаков. Для того, чтобы упростить жизнь разработчикам и новичкам, которые сходу не могут настроить проект, появился проект Spring Boot. Он имеет заранее подготовленные куски конфигурации, которые активируются в зависимости от различных условий. Например, если у вас в classpath есть Hibernate, то бины для работы Spring и Hibernate настраиваются автоматически. Если у вас в classpath есть JAR файл для работы с БД H2, то она автоматически разворачивается и Hibernate настраивается для работы c ней. И т.д. для различных компонентов. Итого. Возможно, что вам стоит попробовать spring-boot, т.к. в нём, скорее всего, придётся писать меньше кода для настройки всего этого хозяйства. Но, если вам понадобится немного нестандартная конфигурация, а знания Spring Framework недостаточные, то могут возникнуть проблемы, с тем как это настроить. Решать, разумеется, вам.

Ответ 2



Spring Boot был создан, чтобы не писать на xml. Вот вам конфиг 2-ух бинов. Писать проще, приятнее, надежнее. Сам начинал изучение Spring именно с MVC. Сейxас при виде XML идет кровь из глаз :-). Вся конфигурация на Java. Много вещей идет из коробки. Например вы подключили зависимость БД, например mySQL, и можете всего-лишь указать URL, USER, PASSWORD в application.properties - все, БД настроена. Без всяких доп. настроек. spring.datasource.url= jdbc:mysql://localhost:3306/ Spring Boot это следуюший шаг Spring, чтобы сделать его легче в настройке и развитии приложений. С Spring Boot конфигурации Spring минимизируется максимально.

Ответ 3



Я бы решал так: если нужен рабочий код как можно быстрее, то однозначно Boot, но если есть время и желание немного почитать (там дня хватит с головой), то лучше начать со старого доброго Spring Framework - будет больше понимания "как оно всё работает". Можно ещё так рассматривать: Spring Core сам по себе запускает бины, отлично, понятно, просто, дофига конфигов в xml. Spring + схемы создают дефолтовые бины, которые можно найти в схемах и переопределить по необходимости - для понимания иногда нужно залезть в схему, но сильно меньше писать в xml. Spring Boot - дофига магии, создающей бины направо и налево, и отследить какие именно создались... ну тоже наверное как-то можно, но ещё один слой автоматики.

Комментариев нет:

Отправить комментарий