Уважаемые жаба-пидоры, помогите. / java :: айтишное :: пидоры помогите (реактор помоги)

пидоры помогите java айтишное 

Уважаемые жаба-пидоры, помогите.

Дорогие мои пидоры, после месячной пытки вы остались моей последней надеждой.

          Если коротко: Есть ли какой-нибудь туториал/книга, для Spring Boot'а, которая обучает и объясняет с самых азов?

         Если длинно: ~90% вакансий по джаве требуют Spring Boot. А все туториалы по нему как будто созданы для тех, кто УЖЕ понимает как оно работает. Не исключаю того факта, что мне не достаёт мозгов, но убейте меня, я не понимаю, как с этим всем работать. Оно просто не "кликает". Я следую туториалам, но ничего сам родить не могу. Не понятно зачем, не понятно как, не понятно откуда и куда.

 Как пример понятного, годного туториала: Туториалы JavaTPoint 

КУПОН
НА 1 помощь,пидоры помогите,реактор помоги,java,айтишное
Подробнее
КУПОН НА 1 помощь
пидоры помогите,реактор помоги,java,айтишное
Еще на тему
Развернуть
Внезапно, чтобы понимать. Обучение так и работает!
Гугли Евгений Борисов Spring/Spring boot потрошитель
bobsapp bobsapp 07.08.202216:01 ответить ссылка 6.4
За книги не скажу, но вот есть чел, который объясняет как оно работает
Melatori Melatori 07.08.202216:01 ответить ссылка 7.0
Спасибо, гляну.

Но это вглядит как... Как будто это для тех, кто уже работает с этим. Я же даже начать не могу
а ты сам с чем работать то умеешь уже?
Чистая джава ¯\_(ツ)_/¯
Kon_Boi Kon_Boi 07.08.202216:09 ответить ссылка -0.9
я был в той же ситуации, мне помогло именно врубится когда написал первый "веб сервер" на Flask+Python
как бы не парадоксально это звучало, технологии и архитектура ведь та же - только язык другой
jobman jobman 07.08.202216:15 ответить ссылка 1.2
не пугайся - там писать 2 минуты максимум
jobman jobman 07.08.202216:15 ответить ссылка 1.2
Питон у меня на компе сломан, но хотя бы почитаю)
разверни виртуалку тогда, раз свою винду сносить не охота
Как бы сказать... Я-то, вроде, понимаю ЧТО происходит. Запросы-ответы, CRUD, работа с БД... Но когда я пытаюсь составить пазл, я упираюсь в стенку "КАК". Не говоря уже о том, что с этим ебучим спрингом постоянно идут десятки зависимостей и никто и нигде не объясняет, как и нахуя оно нужно
начни отсюда https://start.spring.io/ там накидать spring data, spring webmvc и єтого уже хватит, чтобьі поднять контроллер и начать добавлять свои єндпоинтьі. Отсюда ответ - вся єта кухня нужна для того, чтобьі вьінести реализацию самих контроллеров за скобки и сосредоточиться на том, чтобьі пилить фичи.
Господи боже... Спасибо за то что пытаешься помочь, но неужели ты не читал пост? Я не понимаю, что там происходит вообще и как оно работает.
Kon_Boi Kon_Boi 07.08.202216:28 ответить ссылка -1.2
тьі немного странньій, тебе скидьівают ссьілки на видео, где в деталях рассказьівают как работает спринг, тьі говоришь, что слишком глубоко, тебе скидьівают референс для самьіх нубов - тьі говоришь все хуйня. Успехов в общем
Понимаешь, тот видос, рабирающий спринг он для тех, кто УЖЕ ЗНАКОМ со спрингом, это не обучающий материал. А туториалы только показывают что, но не показывают зачем и почему.

На примере туториала по свингу из javatpoint: там дают каждую деталь в отдельном сегменте, и по косточкам разбирают что оно умеет и для чего нужно. А так же объясняют, как это использовать.

В Спринге же, нет ничего из этого. Просто наваливают код с лопаты, и не объясняют ни элементы в отдельности, ни как они между собой работают, ни как их применять и расширять
Kon_Boi Kon_Boi 07.08.202216:40 ответить ссылка -1.2
на ютубе куча видосов про спринг например вот
Есть онайн курсі например тот же udemi
Все они -- хуйня. Как я и сказал, они как будто для тех, кто УЖЕ понимает, как оно работает. Я уже не говорю о том, что они сначала пол часа показывают как не надо делать, что бы потом просто сказать "А давайте засунем всё в сервис". А С САМОГО НАЧАЛА ПОЧЕМУ ТАК НЕ СДЕЛАЛ?! Я уже не говорю о том, что нихуя не объясняется как сам спринг бут работает.


Вот единственный туториал, который действительно мне помог, но его просто катастрофически мало. А от неумеющих говорить и объяснять индусов уже тошнить начинает
Kon_Boi Kon_Boi 07.08.202216:26 ответить ссылка -0.2
Я... Я сильно упёрся в туториальную стену, как это называют на реддите, вроде знания есть, а хуле с ними делать или куда расти дальше -- ХЗ. Если гуглить всякие "Java Developer Road Map", то они закончены ( https://roadmap.sh/roadmaps/java.png Буквально остался только ORM и веб).
Не, видос для объяснения на пальцах что такое спринг. Показывали его ученикам-стажерам.
Меньше нытья, больше дела!

Посмотри этот. Подробней, чем написать кусок спринга самому, кмк, некуда. А вообще лучше с JavaEE и Servlet API начать, если только Java core знаешь. Потом голый Spring и уже после него Boot. Boot слишком много "магии" сразу в новичка кидает, что тебя и смущает.
Norby Norby 07.08.202219:15 ответить ссылка 1.5
Spring Boot - это просто обвязка вокруг обычного Spring'а. А его ты знаешь?
Azargan Azargan 07.08.202216:25 ответить ссылка 0.2
Если кратко, то смотришь reference docs для обычного спринга. Смотришь что такое бины, какие бывают скоупы, как работает DI, как работают проперти. Это даёт понимание как работают базовые вещи.
Потом смотришь как работают автоконфигурации на примере какого-нибудь spring-boot-starter-jdbc. Это даёт понимание что большая часть магии - это просто написанный кем-то конфиг для наиболее частых кейсов.
После смотришь какие ещё автоконфиги для каких технологий есть. Отличный план, надежный, как швейцарские часы
Нуу... Прямо отвечая на твой вопрос -- нет, не знаю.

Дополняя ответ: абсолютно из каждого утюга кричат, что сначала лучше учить бут, так как он... ну.. враппер, сделанный именно для упрощения всего этого процесса.
Kon_Boi Kon_Boi 07.08.202216:33 ответить ссылка -0.1
Не слушай утюги
Т.е. Спринг для понимания и использования легче бута, предназначенного сделать обычный спринг легче?
Kon_Boi Kon_Boi 07.08.202216:42 ответить ссылка -0.1
Видимо проблема в понимании. Спринг - это базовая часть и основной функционал. Спринг бут - это фреймвор для построения независимых автоконфигураций на базе спринга. По своей сути, весь спринг бут - это технология автоконфигураций, исключений или включений бинов в зависимости от условий и т.д.
Не понимая базовую часть ты не сможешь нормально работать с бутом. Один хрен будет "магия".
пару раз выручали туториалы вот этого чела
https://www.baeldung.com/spring-boot
хз как они зайдут прям совсем новичку
ну и как тут выше кидали, если официальные доки не понятные - можно поискать обучающий курс
готов поспорить что есть сотни их, платных и бесплатных
https://www.coursera.org/search?query=spring%20boot&
Баелданг точно не по мне. Просто накинули всего, копайся сам.

> если официальные доки...
Понимаешь, тут дело не в токах, а в фундаментальном непонимании методологии работы этой бандуры

> сотни их, платных и бесплатных
И практически все, что я находил, упирались в проблему, из-за которой я и обратился на реактор: Они НИХУЯ не объясняют
что бы узнать как эта хуйня работает внутрях достаточно открыть исходники, они открыты, написано там всё слава богу на джаве, которую ты вроде как утверждаешь что знаешь.
да, куча непонятного говнокода (на самом деле нет), с кучей непонятых паттернов (на самом деле обычных) и разных хитрых фишек трахающих джаву во все дыры.
тот самый спринг потрошитель который тебе кидали как раз основан на изучении исходников.
mm33 mm33 07.08.202216:46 ответить ссылка 1.5
Spring in action. Вроде даже на русском есть. Плюс паралельно придумываешь задачу, типа api для магазина и делаешь.
Z100 Z100 07.08.202216:41 ответить ссылка 2.1
Язык не проблема, спасибо за книгу!

Просто... Как я и сказал выше, новичкам везде рекомендуют именно бут, а не чистый спринг
Бут все равно включает в себя кор спринговый. В книге бут тоже есть
Z100 Z100 07.08.202216:56 ответить ссылка 1.8
Без понимания энтерпрайза - спринг так и останется магией.
А по поводу "дайте мне, чтобы понятно было" - бери в рот, там всё понятно.
kilg kilg 07.08.202216:57 ответить ссылка 1.3
спринг это контейнер зависимостей (dependency injection паттерн), предполагает наличие кучи разных классов работающих друг с другом через зависимости полученные извне, так вот спринг это та самая штука которая создаёт обьекты классов (бины) и подсовывает их в другие классы в качестве зависимостей, делает он это не просто так а на основе некоей конфигурации, и сначала эта конфигурация была в виде большой xml-ки, потом продвигался подход конфигурирования через код (спец класс).
А спринг бут это вершина эволюции когда происходит автоматическая конфигурация (не всегда) контейнера зависимостей спринга на основе наличия тех или иных классов (бинов) в области видимости класс лодера и присутствия настроек для этих классов а конфигурационном файле (проперти или ямла) или переменных окружения или просто по велению левой пятки.
чтобы всё это хоть как то заработало было написано много разных обёрток интеграций/автоконфигураций вокруг различных библиотек (бд брокеры парсеры и прочее). и вот это вот всё безобразие радостно грузится в виде дерева библиотечных зависимостей при сборке проекта после добавления одной строчки в грейдл или пом файле.

бизнес логику конечно самому всё таки придётся писать, но навесив кучу аннотаций на какой нибудь несчастный класс или поле получаешь кучу возможностей которые как то магическим образом хз как работают, а если с ходу не работают, трахаешься с тем почему, залезая в кишки спринга.
mm33 mm33 07.08.202217:15 ответить ссылка 3.0
Господи, я видно реально хуёво вопрос задал... Спасибо большое за объяснение! Видно у тебя есть опыт с этой хуёвиной. И, пожалуйста, вдруг ты сможешь пояснить/направить в нужную сторону

Говоря "как работает спринг" я имел в виду больше "Почему делается именно так, а не иначе".

На примере туториала по свингу из javatpoint: там дают каждую деталь в отдельном сегменте, и по косточкам разбирают что оно умеет и для чего нужно. А так же объясняют, как это использовать.

В тутриалах спринга же, нет ничего из этого. Просто наваливают код с лопаты, и не объясняют ни элементы в отдельности, ни как они между собой работают, ни как их применять и расширять.

Эти самые аннотации, как именно следует делать инжекшоны зависимостей. Нахуя нужен абсолютно пустой main и всё пихается в контроллер.
Пустой main не нужен и Spring'у.
Приложение на спринге или буте может быть и без контроллеров.
И да, для начала нужно учить что такое Spring и как его едят
Я про это. Понятно, что туда можно запихать логики, просто все туториалы оставляли это пустым, и создавали отдельный "контроллер" для всего.
@SpringBootApplication public class Main {
public static void main(String[] args) { SpringApplication.runCMain.class, args);
}
}
На классе висит аннотация которая скрывает кучу говнокода по автоконфигурированию. Внутри майн функции собственно старт контейнера который запускает парсинг всех аннотаций на всех классах проекта. Этот необходимый минимум для перехода из джавовой точки входа внутрь мира спринга. И нужно это только для того чтобы можно было запускать jar из командной строки.
mm33 mm33 07.08.202218:17 ответить ссылка 1.9
Ммммм... обфускация и сокрытие кода... Теперь понятно, почему мне так не нравится эта какашечка.
Kon_Boi Kon_Boi 07.08.202218:21 ответить ссылка -1.3
Нет тут ни обфускации, ни сокрытия кода. В явном виде стоит аннотация @SpringBootApplication и вызов метода run у SpringApplication.
А то что оно не просто печатает System.out.println("Hello world"); так это не проблема спринга
Я в плане того, что за этой аннотацией скрыто много кода. Не люблю я так.
Начну с конца, абсолютно пустой main нихуя не пустой, а обмазан этими самыми аннотациями или одной аннотацией, которая агрегирует в себя кучу других, обычно применяемых или вообще аннотация вешается автоматом, её как бы нет а на самом деле есть, ибо все её тут вешают поэтому за тебя её повесят автоматом.
Зависимости это поля в твоём классе того или иного типа (обычно жирненькие такие типа рест клиента), инежекцию зависимостей (инициализацию полей) делает тот самый спринг, на основе разных критериев, это может быть аннотация на поле, аннотация на сеттере поля, аннотация на конструкторе класса или само наличие конструктора класса со всеми полями или даже отсутствие явно описанного конструктора, но наличие аннотации ломбока генерирующей этот самый конструктор. прогеры пиздец как ленивые и лишнюю строчку написать не хотят.
спринг работает предельно логично, при старте приложения ходит по классам и смотрит наличие этих самых аннотаций или иных критериев внедрения зависимостей (жирненькую xml-ку не забываем), создаёт обьекты и распихивает их везде где посчитает нужным. В кишочках там разное дерьмо вплоть до рефлекшена и проксей чтобы добраться до полей которые надо проинициализировать или повесить ожидаемое поведение для той или иной аннотации.
спринг бут поверх спринга навалил автоконфигураторов всего этого добра, чтобы ещё меньше писать кода и просто зайти на start.spring.io потыкать кнопочки и получить абсолютно рабочее но нихуя не делающее приложение в которое осталось добавить бизнес логику.
чтобы узнать почему делается так или иначе в данной версии спринга, бута, библиотек надо лезть в кишки или читать смотреть тех кто за тебя слазил в кишки. Кстати создатели спринга гордятся тем что пришут очень подробные коментарии к интрефейсам и даже иногда коду, с примерами и всем таким прочим.
разжовывает внутреннюю кухню спринга уже упомянутый спринг потрошитель, а там идеология за десять лет говнокодинга раз пять менялась, поэтому обьясняет тем кто привык к одному подходу как оно сейчас работает так же но по другому. а разные туториалы для дибилов тупо рассказывают как сделать хуяк хуяк и в прод, даже не пытаются лезть внутрь ибо там пару томов можно написать и оно устареет через год.
как с этим всем жить? быстро добираться до стадии принятия неизбежного и начинать говнокодить по туториалам, иногда спускаясь в кишочки если сразу не взлетело.
mm33 mm33 07.08.202218:08 ответить ссылка 1.9
Если я не прозрел, то как минимум начал открывать третий глаз.

Т.е. спринг -- это просто защита от спагетти-кода путём расстановки указателей "какую макаронинку куда тянуть"?

Алсо, *детским голосом* ломбок даже не выглядит как джава(
спринг -- это реализация dependency injection паттерна, который как известно упрощает написание юнит-тестов, вобщем самый мастхэв сейчас для кодеров.
а то что там весь код аннотациями приходится обмазывать это издержки упрощения. некоторые туториалы по ранним версиям спринга добротную такую лапшу вываливают и ведь работает до сих пор (но это не точно).
mm33 mm33 07.08.202218:31 ответить ссылка 0.0
У Алишева есть достаточно начальные видосы по спрингу
Как по мне там норм разжевано
matthews matthews 07.08.202218:06 ответить ссылка 1.5
Ты творишь дичь, ты судя по всему знаешь только core java, а хочешь при этом ворваться в boot. Boot это всего лишь надстройка на базовым спрингом, которая стала уже по сути мастхэвом в любой коммерческой разработке на спринге. Но пытаться изучать бут, без знания самого спринга лишено смысла. Это как ни разу не сидев за рулем авто, не умея даже тронуться с места, но при этом ты хочешь понять как пустить машину в управляемый занос.
1. Начни вообще с изучения понятия dependency injection.
2. Дальше напиши хелоу ворлд на голых джава сервлетах. В дебри нырять не надо, достаточно понимать как обрабатывается запрос. Тут тебе придется еще поднять контейнер сервлетов, собрать war и задеплоить его туда.
2. Потом напиши примитивный crud на связке spring-web-mvc + spring-data-japa, БЕЗ использования Boot. Например, принимать post запрос в контролере, который парсит json в дто, дто в энтити и сохранять это в БД.
По мимо написания самого кода, тут тебе придется так же билдить war и деплоить в томкат, а еще попутно объявить и сконфигурить около 5 спринговых бинов, по типу transaction manager, entity mager factory, data source и приправить это все аннотациями. Первый раз это все будет больно, но зато это даст хоть какое-то понятие, что творится под капотом у бута, а не считать это все магией.
3. А вот теперь уже можно ковырять бут и можно все тоже самое, что ты делал во втором пункте, но сделай это уже на буте. Ты сразу заметишь насколько меньше нужны теперь конфигурить спринг, что томкат теперь встроенный и нет нужды в отдельном деплое , а можно сразу запускать jar и т.д.

Естественно для всех 3 пунктов тебе понадобятся видеоуроки\гайды\курсы. А еще чтобы пытаться хоть лезть в коммерческую разработку на спринге, тебе надо на базовом уровне знать гит, мавен и БД.
На все про все у тебя уйдет 3-6 месяцев, если будешь заниматься хотя бы два часа в день.
Особо легко не будет, ынтепрайз на джаве имеет некий порог вхождения, для кого-то ничего особенного, для кого-то недостижимый. Но в любом случае "вайти в айти" за месяц, у тебя не получится.
Redeemer Redeemer 07.08.202223:35 ответить ссылка 3.1
сервлеты, практически голый спринг, и патом уже бут. Понял-принял, спасибо!

> гит, мавен и БД.
Гит изучу, грейдл и с БД (и JDBC) у меня даже коммерческий опыт есть :3

пойду курить гайды)
Так. На правах человека, который сам в это понемногу лезет.
Туториалов мало, надо брать материал системно, чтобы хотя бы примерно понимать, как оно работает внутри, под слоями "магии". Бери всё этапами, слой технологии за слоем. Полезешь сразу во всё - утонешь.
Начать хотя бы с обычных Java EE сервлетов + jsp, чтобы в принципе понимать, как шестерёнки крутятся внутри серверных приложений. Разберёшься с запросами и сессиями. Бонусом уже здесь можно узнать, что такое пул соединений и зачем она надо. Для доступа к БД - JDBC и писать все запросы ручками.
До Spring Boot лучше потыкать чистый Spring Core. Spring Core буквально соответствует своему названию, это ядро огромного фреймворка, в рамках которого Spring Boot - всего лишь надстройка для автоконфигурации. Плохо разберёшься в Spring Core - дальше могут вылезти проблемы на ровном месте, где, казалось бы, всё должно быть хорошо. Пока даже без сайта - на примере обычного консольного приложения. Просто посмотреть, как надо работать с бинами: конфигурировать их, задавать зависимости, получать из контейнера. Жизненный цикл бинов, скоупы prototype и singleton. Аннотации @Bean, @Configuration, @Component, @Autowired, @Qualifier. @Value и @PropertySource до кучи.
Посмотреть, как работает Spring MVC. Почитать про REST API, Hateoas. Доступ к БД - Spring JDBC Template как надстройка над JDBC.
Начать смотреть Spring Boot. Для работы с БД уже можно трогать ORM с JPA, Spring JPA, Hibernate.
Spring Security.
Ну и дальше уже смотреть, чего не хватает и что подтянуть.

Вот здесь худо-бедно по этапам и с учебными материалами
https://github.com/mjc-school/MJC-School
По книгам вроде рекомендуют Spring in Action.
Искать материалы именно по Spring Core без Spring Boot мне было непросто. Как вариант конкретно для Core тот же Spring in Action можно брать "дремучего" 4 издания.
Trallolo Trallolo 08.08.202202:16 ответить ссылка 3.0
На правах, возможно, последнего ответа на пост... Эх, надо было оооочень давно просить помощи у дорогих пидаров. Спасибо вам всем за ТАКУЮ помощь о объяснения!

Хе. Практически то же самое порекомендовал и Редимер сверху) Сервлеты, JSP... А вот с JDBC знаком, на своё счастье.

Спасибо за подробный роад-мап, дружище! Буду начинать!
Читай официальную документацию, она толковая. Единственная проблема с ней для новичка -- избыточная подробность. Тебе придётся самому решать что можно пропустить на начальном этапе. Если читаешь последние подразделы и чувствуешь, что не понимаешь о чём речь или нет желания продолжать то бросай, делай перерыв и двигайся дальше. Если описываются несколько альтернативных способов сделать одно и то же, то запомни какие существуют и выбери один. Нагугли который самый популярный.
Spring in action скучнющий и раздутый, как мне показалось.
https://docs.spring.io/spring-framework/docs/current/reference/html/core.html
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
КУПОН НА 1 помощь ИСПОЛЬЗОВАТЬ ТОЛЬКО В СЛУЧАЕ КРАЙНЕЙ НЕОБХОДИМОСТИ
подробнее»

пидоры помогите,реактор помоги

 ИСПОЛЬЗОВАТЬ ТОЛЬКО В СЛУЧАЕ КРАЙНЕЙ НЕОБХОДИМОСТИ
C:\Users\ZD\eclipse-workspace\servlets\texlog\target>java -Xdiag texlog-0.0.1-SNAPSHOT.jar Error: Could not find or load main class texlog-0.0.1-SNAPSHOT.jar Caused by: java.lang.ClassNotFoundException: texlog-0.0.1-SNAPSHOT.jar java.lang.ClassNotFoundException: texlog-0.0.1-SNAPSHOT.jar at ja
подробнее»

java программирование geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор пидоры помогите,реактор помоги

C:\Users\ZD\eclipse-workspace\servlets\texlog\target>java -Xdiag texlog-0.0.1-SNAPSHOT.jar Error: Could not find or load main class texlog-0.0.1-SNAPSHOT.jar Caused by: java.lang.ClassNotFoundException: texlog-0.0.1-SNAPSHOT.jar java.lang.ClassNotFoundException: texlog-0.0.1-SNAPSHOT.jar at ja
КУПОН НА 1 помощь