Comments 17
Установите IDEA Ultimate Edition и создайте с ее помощью новый проект
А почему именно Ultimate... ? Community с данной задачей не справится? Да и бесплатен он
Но для профессиональной разработки стандартом является использование IntelliJ IDEA от фирмы JetBrains
Откуда такая информация? Если я поставлю Eclipse, я не смогу заниматься профессиональной разработкой?
Инструкция у вас так понимаю для Windows пользователей... Вы просто пишите везде , скачайте и установите...
непонятно что вы хотите описать. Зачем нужен экскурс в историю JDK и т.д.
Одно из преимуществ (пусть и не главное) микросервисной архитектуры - возможность писать на чём угодно.
Кстати, рекомендую использовать разные БД для разных сервисов и ваша жизнь станет намного приятнее.
Использование SpringBoot для микро сервисов иногда чревато.
Простой сервис делающий, например, только select из БД и интегрированный, например с kafka или пусть даже с HTTP (пусть даже с тем же Tomcat что и Spring использует) при старте кушает ресурсы существенно меньше чем тот же сервис (с аналогичным функционалом) на SpringBoot c его hibernate и построениями зависимостей на старте.
Однако когда нужно поднять под сотню сервисов на одном сервере (сразу) это становится существенным.
Не понимаю это всеобщего "только на SpringBoot".
Ну да.. удобнее начиная с определенного объема исходного кода модуля. Но не все же упирается в "удобство разработки". Да и простые модули по объему кода и его "читаемости" ну что на SpringBoot что традиционно одинаково пишутся.
А что скажете про родной джавовский аналог Спринга?
Что вы имеете в виду под "родным"?
Если Java EE, то как API, он весьма неплох. Реализация «от Оракла» — Glassfish, когда-то я с ним работал. Сейчас, специально для микросервисов, есть Quarkus, реализующий это же API.
Glassfish сервер это контейнер сервлетов. Совсем и принципиально идеологически другой способ организации ПО чем у SpringBoot.
Glassfish это Application Server
А под аналогом Spring, судя по всему, имелся в виду принцип IoC в Jakarta-уже-EE - спецификация CDI
Не лучший вариант для "экономии ресурсов" поднимать отдельный AS
Разве что в одном поднимать несколько приложений, но это несогласуется с концепцией микросервисов- каждому свое окружение.
да и без всего этого можно.
У меня еще осталось ПО которое собирается и как war под Glassfish и как отдельный jar c встроенным Grizzy HTTP сервером.
Но, Glassfish скорее мертв чем жив. IMHO
Не спорю, что Glassfish мёртв. Quarkus, тем не менее, живее всех живых, и по API если не взаимозаменим, то гораздо ближе к классическим Java EE контейнерам, чем Spring.
Сравнивая с комментарием внизу, «привычная оболочка» лично для меня — это именно это API (JaxRS и прочее), и за него Ораклу спасибо. Когда Glassfish умер, пересесть на Quarkus не составило труда, а Spring пришлось бы учить заново.
«без всего этого можно» — без чего именно и как именно, TCP-сокеты самому слушать? Можно, но зачем?
Hibernate для работы с базой не обязателен, есть варианты (даже без ORM — JDBC например).
Для микросервисов есть специально заточенный для них Spring Cloud.
Ну я так про что и говорю.
Не нужен hibernate - пользуемся jdbc. Используем HTTP встроенный сервер - так там уже есть практически у всех своя реализация @Inject . И она хоть по проще, но за то быстрее работает (а даже 300..500 ms на старте экономии это не мало)
и получается, что от SpringBoot ну просто как привычная оболочка, без которой нормально и там быстро написать можно.
Удручает хайп и мода. Когда новенькие программеры даже не знают, что Java приложения можно и без SpringBoot. И что кроме JPA (а многие даже не знают увы, какая под крышкой SpringBoot реализация JPA) есть jdbc.. (Да вообще нифига не знают. Пользуются "магией" и примерами)
Вот ровно это я и хотел сказать.
Spring/SpringBoot это не просто "привычная оболочка", а ключевые фичи, вроде IoC/DI, конфигурации и много всего еще. Удобный фреймворк. Без него можно обойтись (или есть аналоги разной степени похожести), но придется МНОГО писать руками и МНОГО тестировать.
Программы пишутся для программистов, а для оптимизации выполнения есть компиляторы и виртуальные машины, spring boot очень удобен для разработки, а если вам нужно, что то оптимизировать можно обратится к соответствующим инструментам. Нужно время старта посмотрите на Native Image graalvm.
Современная серверная разработка на языке Java: 1. Инструменты разработчика