Информация об изменениях

Сообщение Re[5]: Java в shareware от 02.03.2023 15:18

Изменено 02.03.2023 15:27 vsb

Re[5]: Java в shareware
Здравствуйте, Иль, Вы писали:

vsb>>А какие альтернативы? Спринг бут это 90% жава "рынка". Библиотек, конечно, миллион, но по буту хотя бы есть ответы на все возможные вопросы.


Иль>Есть ответы на базовые и/или стандартные вопросы. Есть ответы на некоторые нестандартные вопросы. Но тут уже надо чтобы совпала версия спринга, по которой отвечали и той, которую используешь. А ответов на большинство нестандартных вопросов нет.


Мой опыт другой, я на все свои вопросы обычно ответы нахожу очень быстро. Редко бывает, что не нахожу. Обычно если хочу очень странного. Порой это признак того, что делаю что-то не так.

Иль>ИМХО спринг часто ошибочно воспринимают как такое самостоятельное универсальное решение. В реальности же помимо самых базовых вещей — (spring core кажется оно называется) — типа позднего связывания через Reflection (что, кстати, не так уж и сложно сделать и без спринга при желании) и т. п. — спринг просто объединяет кучу сторонних библиотек. Но что мешает использовать те же самые библиотеки без спринга? Т. е. не подтягивая кучу ненужных зависимостей через Spring Boot?


Какие библиотеки? Spring MVC/Spring WebFlux это вполне себе самостоятельная библиотека для роутинга. Или взять встраиваемый томкат. Я его пытался без спринга встраивать как-то раз. У меня ещё была стадия непринятия бута. Потом залез в исходники этого самого бута, оценил, сколько они там "клея" написали для того, чтобы этот самый встраиваемый томкат у них заработал, и это было одной из вех моего "принятия" бута.

Иль>Например Srping data прикольная вещь для больших проектов. Но иногда она не нужна. А надо, допустим, исполнить запрос к БД хотя бы через тот же spring jdbc. Так вот spring boot отдельно spring jdbc не подтягивает, а только в комплекте с чем-то монструозным.


Не очень понял, о чём речь. Просто добавляешь spring-jdbc в зависимости и всё, не?

У спринг бута есть два функционала.

Первый функционал это автоконфигурирование спринга. Я раньше писал без бута. Ничего страшного в этом нет, но настройка компонентов требует времени и усилий. Если пишешь огромный монолит на 100 человеколет, то нормально. А если пишешь микросервисы, по 10 штук в год, то эти усилия уже будут занимать измеримый процент, поэтому тут бут себя оправдывает.

Второй функционал это уникальный функционал. К примеру тот же упомянутый встроенный томкат. Там довольно много кода написано. Думаю, и другой функционал есть подобного рода. Хотя можно и без встроенного томката обойтись или таки самому написать что нужно.

При этом ничего не мешает тебе использовать спринг бут там, где ты хочешь и не использовать его там, где ты не хочешь. Как в примере со spring-jdbc. Просто добавь зависимость, сконфигурируй датасорс руками, jdbctemplate-ы и тд. И всё. Бут этому никак не помешает. Или подключай бут со spring data и просто игнорируй его. Он особо кушать не просит.
Re[5]: Java в shareware
Здравствуйте, Иль, Вы писали:

vsb>>А какие альтернативы? Спринг бут это 90% жава "рынка". Библиотек, конечно, миллион, но по буту хотя бы есть ответы на все возможные вопросы.


Иль>Есть ответы на базовые и/или стандартные вопросы. Есть ответы на некоторые нестандартные вопросы. Но тут уже надо чтобы совпала версия спринга, по которой отвечали и той, которую используешь. А ответов на большинство нестандартных вопросов нет.


Мой опыт другой, я на все свои вопросы обычно ответы нахожу очень быстро. Редко бывает, что не нахожу. Обычно если хочу очень странного. Порой это признак того, что делаю что-то не так.

Иль>ИМХО спринг часто ошибочно воспринимают как такое самостоятельное универсальное решение. В реальности же помимо самых базовых вещей — (spring core кажется оно называется) — типа позднего связывания через Reflection (что, кстати, не так уж и сложно сделать и без спринга при желании) и т. п. — спринг просто объединяет кучу сторонних библиотек. Но что мешает использовать те же самые библиотеки без спринга? Т. е. не подтягивая кучу ненужных зависимостей через Spring Boot?


Какие библиотеки? Spring MVC/Spring WebFlux это вполне себе самостоятельная библиотека для роутинга. Или взять встраиваемый томкат. Я его пытался без спринга встраивать как-то раз. У меня ещё была стадия непринятия бута. Потом залез в исходники этого самого бута, оценил, сколько они там "клея" написали для того, чтобы этот самый встраиваемый томкат у них заработал, и это было одной из вех моего "принятия" бута.

Иль>Например Srping data прикольная вещь для больших проектов. Но иногда она не нужна. А надо, допустим, исполнить запрос к БД хотя бы через тот же spring jdbc. Так вот spring boot отдельно spring jdbc не подтягивает, а только в комплекте с чем-то монструозным.


Не очень понял, о чём речь. Просто добавляешь spring-jdbc в зависимости и всё, не?

У спринг бута есть два функционала.

Первый функционал это автоконфигурирование спринга. Я раньше писал без бута. Ничего страшного в этом нет, но настройка компонентов требует времени и усилий. Если пишешь огромный монолит на 100 человеколет, то нормально. А если пишешь микросервисы, по 10 штук в год, то эти усилия уже будут занимать измеримый процент, поэтому тут бут себя оправдывает.

Второй функционал это уникальный функционал. К примеру тот же упомянутый встроенный томкат. Там довольно много кода написано. Думаю, и другой функционал есть подобного рода. Хотя можно и без встроенного томката обойтись или таки самому написать что нужно.

При этом ничего не мешает тебе использовать спринг бут там, где ты хочешь и не использовать его там, где ты не хочешь. Как в примере со spring-jdbc. Просто добавь зависимость, сконфигурируй датасорс руками, jdbctemplate-ы и тд. И всё. Бут этому никак не помешает. Или подключай бут со spring data и просто игнорируй его. Он особо кушать не просит. А spring-jdbc в зависимостях уже по-любому будет и сконфигурирован будет автоматом.