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




Зависит от того, как вы хотите использовать спокойный сервис, но вам могут не понадобиться никакие дополнительные стартеры, ядро spring-boot-starter, которое вы получаете, когда просто нажимаете «Создать проект», и обычно подразумевается со всеми распространенными стартерами, такими как -web, -security, .. имеет ведение журнала и внедрение зависимостей, и это все, что вам нужно для создания jar-файла, который можно легко запустить с java -jar
Однако он не поставляется с RestTemplate, который является обычным способом создания клиентов для отдыха весной. Для этого вам нужно вручную добавить зависимость от org.springframework:spring-web, как вы можете увидеть примеры в https://spring.io/guides/gs/consuming-rest/
Но вы также можете использовать другие клиентские библиотеки для отдыха, если они вам больше нравятся.
Существует также Feign, который можно использовать в качестве клиента отдыха, и он доступен из инициализатора, примеры на https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html - не пробовал, и я не уверен, сколько дополнительных облачных зависимостей будет добавлено при добавлении стартера.
Мне также нравится использовать Ломбок во всех проектах, но это предпочтение. Очевидный выбор DevTools не дает большого преимущества в консольном приложении, но отлично подходит для перезагрузки веб-серверов в реальном времени.
[...] so the JAR files could be later used in scheduled tasks.
звучит так, как будто вы пытаетесь создать библиотеку / модуль более крупного приложения. Для этого вам не нужно приложение, которое работает автономно, поэтому, возможно, вам стоит прочитать https://spring.io/guides/gs/multi-module/. Разница для библиотек заключается в том, что вам не нужен плагин весенней загрузки для maven / gradle, который может упаковывать автономную банку, а только управление зависимостями.
@Disasterkid стартер без суффикса - это не тот, который содержит все, в отличие от других проектов. Если вам нужен веб-сервер в вашем приложении, вам понадобится стартер -web и так далее. Зависимости начального уровня предназначены для предоставления вам всех (сторонних) зависимостей и конфигурации Spring, необходимых для, например, приложения -web. И если вы хотите использовать mongo DB в качестве своей БД, вы добавляете этот стартер поверх.
Я не понимаю, что вы подразумеваете под «стартером без суффикса». Верно, мне не нужна зависимость Web, потому что она нужна для создания веб-приложений. Так что я должен просто инициализировать свой проект с помощью Security, Feign и соответствующих библиотек базы данных, например. Постгрес?
Безопасность @Disasterkid также в основном предназначена для веб-серверов, я не думаю, что вам это понадобится, если вам не нужна какая-либо форма аутентификации в параметрах командной строки. Я имел в виду, что spring-boot-starter - это просто ядро, в отличие от, например, aws-java-sdk, который представляет собой весь SDK, и добавление суффикса дает вам подмножество, например aws-java-sdk-s3 - это просто часть "s3". Я бы выбрал минимум для начала, то есть притворимся, если вы хотите это попробовать. А если вам нужен доступ к postgres, добавьте Jpa (см. spring.io/guides/gs/accessing-data-jpa) и PostgreSQL
Привет! Спасибо вам за ваши предложения. Думаю, я дам шанс Притворяться. Это будет отдельное приложение, а не часть более крупного. Один вопрос: если
spring-boot-starterуже содержит общие стартеры, то почему обаWebиSecurityдоступны как зависимости?