CRUD приложение, документация Spring

86
23 августа 2019, 05:30

Дали ковырять back-end на Spring(e) в компании, вот пытаюсь теперь разобраться с проектом и документацией. Открыл документацию, а тут вот это:

А как новичку понять, что читать?). Мне нужно реализовать CRUD приложение, табличка в ней данные, которые можно удалить, добавить, изменить.
А там вон сколько и Spring Boot, Spring Data Rest, Spring Security и тд.
Вот дерево проекта, то есть контроллеры, дто, сервисы, энтити. Связь с БД и работа с ней осуществляется с помощью liquibase.
Здесь просто тебе дают таск, ты копируешь уже реализующий и фиксишь баги и вауля ГОТОВО. Но потом что-нибудь другое сломаешь и не знаешь как сделать. А помочь совсем никому, у всех сроки и все заняты, но я не жалуюсь, я всё это понимаю и пытаюсь всё сделать сам.

У меня подход таков, что я должен каждую мелочь знать что да как, вот поэтому хочу хорошо разобраться чем копипастить.
Как сказали мне на учёбе: "Копипаст хуже зла")). Про Spring много не знаю, прочитал только в википедии информацию и пару статейк на Хабре. Так делал по гайдам в официальной документации, всё круто, всё легко, всё получается, а вот в большом проекте трудно ориентироваться.
Единственное покамись что понял, так это то, что нужно начинать со Spring Boot ибо это уже готовое стартовое приложение.
1 Вопрос: С чего начинать читать документацию официальную Spring.
2 Вопрос: Может кто-нибудь знает где можно почитать информацию о контроллёрах, dto, entity, repository, services, как у меня в проекте, чтобы мог на примерах посмотреть и сделать сам (если русская то вообще круто будет). Заранее спасибо

Answer 1

Начинайте читать со Spring in Action, разберитесь с тем что такое Dependency Injection и IoC, потому что спринг, это именно Dependency injection framework. После этого, нужно понять, на какие логические слои (layers) обычно делятся приложения. Это такие уровни как, DAO, Service Layer, REST Controllers, Model/DTO. Точно не знаю, но возможно это можно будет найти в книге указанной выше. Как эти уровни между собой взаимодействуют и какую логику не нужно выносить за их границы. К примеру, делать прямой запрос в базу данных с контроллера, это не лучшая практика и в перспективе приведет к макаронному коду. Обращайте сначала внимания только на Spring Core и Spring MVC. Секюрити,а тем более Spring Data, пока вы не научитесь работать с базой более близко вам не нужны. Разберитесь с тем что такое контекст спринга и контейнер бинов. Так же не рекомендую начинать со Spring Boot, а пробовать конфигурировать свой проект самому, чтобы понять, почему все работает именно так + это даст общее понимания работы самого спринга.

READ ALSO
В телеграмм боте запуск бота в несколько потоков

В телеграмм боте запуск бота в несколько потоков

Всем привет! Сделал телеграм бота, который, в ответ на запрос "название города", отправляет данные о погоде на сегодня и завтраВсё работает,...

109
WildFly + Drools = GC overhead limit exceeded

WildFly + Drools = GC overhead limit exceeded

Есть такая штука как "Друлз": у него есть веб-приложение, позволяющее писать бизнес-правила прямо в браузере - называется "Business Central Workbench"

103
Как передать объект в RequestBody?

Как передать объект в RequestBody?

В форме ввожу данные(строка и столбец) и нажимаю на сабмит

117