Разработка простейшего микросервиса на Spring Boot
При первом знакомстве со Spring, как правило, возникает небольшая фрустрация - не ясно, что на нем можно написать, и как должен выглядеть готовый проект.
Сегодня мы избавимся от этого чувства и создадим один очень простой микросервис. Но на основе этого микросервиса вы сможете наконец начать свой проект и приобрести навык использования Spring, а не только знания :)
______________________________
ГДЕ С НАМИ ПООБЩАТЬСЯ
⚡️Школа онлайн-образования: loftschool.com/
⚡️Telegram Loftblog: t-do.ru/loftblog
⚡️Telegram IT-обучение: t-do.ru/it_loft
⚡️Группа вконтакте: loftblog
Пікірлер: 61
с одной стороны это конечно можно назвать микросервисом, это же отдельная независимая единица. Но всетаки от темы микросервисов тут ничего нет
@user-qx3jt8fw1v
Жыл бұрын
согласен... минимальнейший круд
А где здесь про микросервисы? Про ESB хоть бы слово было сказано. Как бы REST-монолит это не микросервис...
При чём тут микросервисы?
Чувак ты красава! Круто объясняешь! Просто лучший! Давай больше всяких проектиков на Спринге)
Вобще не понятно как суть связанна с названием. НО! Если поставить правильное название, то ролик мега отличный. Спасибо!)
У парня приятный голос. Видео простое, но очень доходчивое)
Круто! Спасибо тебе!
Как зовут препода? Очень нравится стиль изложения
Люди вы за что лайки то поставили, микросервиса то нет... Он вообще ничего он нем не рассказал, рассказал как сделать рест контроллер и все
Ну, микросервис - громкое название, но, для первых шагов в направлении - вполне годно.)
Жесть... пол часа впустую, хотел с микросервисами познакомиться...
Это не микросервисное, а скорее это монолитное приложение. Надеюсь работодатель тобой доволен :)
Слушай, прям самую нужную основу показал, класс! Не в обиду Тишкевичу, но у тебя быстрее я все понял. А есть такое же только с подключением к бд с хибером?)) Лайк
@LevanovSiarhei
2 жыл бұрын
Spring JPA в помощь))) минут 5-7 и база в проекте даже часть сервисов уже будет готова)))
огонь
Так в Intellij можно сделать тоже самоеб добавить все и lombook там уже внутри.
@Youtooobo
Жыл бұрын
Где там ломбок внутри?
А есть видос о том, как эти микросервисы связать между собой?
@louiegroove
4 ай бұрын
Нашел?
Вопрос остается открытым. Где блин все то, за что микросервисы любят то. Где докер, где скрипты для докера, чтобы микросервисы адекватно разворачивались на докере? Где расказ о идее микросервиса? И да, база прикручивается на раз два, и скрипты на том же ликвибейзе прописываются. Видео надо было называть делаем простейшее приложение на спринг бут. Не более
@evgenii.zaikin
2 жыл бұрын
Кликбейт)
Видео отличное, спасибо. Но у меня не работает сервис ) После старта сервиса вижу в логах Tomcat started on port(s): 8080 (http) with context path. Делаю запрос localhost:8080?id=2 и получаю 404. С POST такая же история. Может кто подскажет, почему так?
@shelter553
Жыл бұрын
у меня такая же ошибка, не знаю почему
@Youtooobo
Жыл бұрын
@@shelter553 я исправил ошибку. Добавил после аннотаций в скобках название ресурса ("/customer"), заработало. Для GET запроса урл такой ...localhost:8080/customer/1 @PostMapping("/customer") public void addCustomer(@RequestParam Long id, @RequestParam String name) {тело метода} @GetMapping("/customer/{id}") public CustomerDTO getCustomer(@PathVariable Long id) {тело метода}
У меня на эклипсе 2022-03 ломбок не заработал (JDK17), и даже в коде жаловался на отсутствие конструктора, при том что аннотация стояла, пришлось добавлять геттеры-сеттеры-конструктор с параметрами "ручками". А то при GET-запросе сервлет выдавал 406 ошибку. Всё больше убеждаюсь, что ломбок-это зло.
@LevanovSiarhei
2 жыл бұрын
плагин подключил? на идеи тоже так бывает)))
@chap_01
2 жыл бұрын
@@LevanovSiarhei 😲
@LevanovSiarhei
2 жыл бұрын
@@chap_01 )))) немного запоздал с ответом)
Spring initializer данным давно встроен в идею. Мля.
@ayrat11
3 жыл бұрын
встроен в платную идею. Если не желание поклацать несколько кликов на стороннем сайте это повод заплатить за лицензию - то это ваше право. По мне платная идея для спринга это безумие. всё работает как надо в коммюнити.
Это монолитный круд, где микросервисы то
Сам же рассказал, почему не надо использовать ломбок в боевых проектах =) Лишняя зависимость - лишние проблемы.
Чтобы идея не подсвечивала @Autowired бин в контроллере, нужно поставить private final CustomerService customerService;
@aks964
3 жыл бұрын
Нужно просто инжектить через конструктор, ибо инжект через поля ведет к целой куче проблем
@user-sl1ti8bx4h
2 жыл бұрын
@RequaredArsConctructor и final field. Ломбок автоматически инжектит финальные поля в конструктор через данную аннотацию
@LevanovSiarhei
2 жыл бұрын
с определённой версии спринга @Autowired можно не указывать
я тольк закончил ооп в жава, даже я знаю что ето не микросарвис а монолит😃😃😃
Лучше не постман а сваггер использовать
Плохой подход с созданием кучи имплементаций интерфейса в зависимости от того, где ты собираешься хранить кастомеров - в мапе в памяти или в какой-то базе данных. Тебе нужна одна единственная имплементация сервиса, которая работает с интерфейсом репозитория, а вот уже репозиторий может иметь кучу разных имплементаций. И никогда, ни при каких условиях не возвращай из метода "просто null", ибо null это полнейшая неопределенность, и рано или поздно кто-то где-то выше на null не проверит. А ты подумал, что будет, если тебе создадут 100500 миллионов кастомеров? Как поведет себя твоя JVM и вообще твоя ОС? Что в таком случае получит в ответ клиент, запрашивающий твой сервис? Spring и Java расхалаживают людей...
@user-qx5kl9tb9x
Жыл бұрын
Только изучаю spring и java, что нужно было сделать в его случае? Обернуть в Optional?
Аннотацию ламбока @Data работает крайне фигово, лучше использовать @Getter @Setter и так дальше.
@ABC-nh9ch
3 жыл бұрын
Можно подробнее, или линк, не могу нагуглить )))
@user-hq6nm2tf6j
2 жыл бұрын
какие проблемы в использовании @Data? всегда использую - ни разу не встречался с проблемами
Ну как бы видео может быть полезно если ты никогда ничего не писал со спрингом. С точки зрения архитектуры отличный пример как делать не стоит. И не понимаю для чего в названии слово микросервис, опять же главные принципы упомянуты ровно ноль раз. Голос приятный и скорее всего первый курс технического вуза может что-то новое узнать, но не факт.
Идея конечно же не может делать так же 😅
При чем тут микросервисы?
Видео не про микросервисы
@ruslansitdikov1489
3 жыл бұрын
Действительно!
Чтобы избавиться от ломбока нужно всего лишь начать использовать котлин, вот и всё
@UranUrshok
3 жыл бұрын
Котлин пока ещё другой язык, но скоро он может слиться с Java
@wlasov
2 жыл бұрын
Тогда уж сразу JS
А автор точно java разработчик, а не мамкин вайтишник?
Что? Написание интерфейса это Inversion of Control? Может автору еще раз про инверсию контроля почитать?)
@zigzag2341
3 жыл бұрын
А что неверно ? Интерфейсы предназначены для инверсии контроля, чтобы направление стрелочек на диаграме было каноничным)
Откуда столько лайков ? Если я создам видео с котиками в коробке и назову его "докеризация микросервисов", то мне тоже лайков больше, чем дизлайков поставят ?
мда, научите этого парня нормально шутить
чел, не хочется ругать чужую работу, но микросервис это не маленький монолит. не вводи людей в заблуждение
Тема микросервисов не раскрыта! Это обычный круд! А для написания крудов есть и получше туториалы! Однозначно минус и жалоба!
В конце XXI-го века программирование такое же примитивное и тупое, как в середине 1970-х. Убожество.
Видос ни о чем