Java & Spring Weekly
211 subscribers
17 photos
63 videos
55 links
Рассказываю о новинках Java & Spring Framework, выпускаю практические обучающие видео
Download Telegram
Spring Boot Observability

Собираем логи и метрики с приложения, написанного на Spring Boot. Логи в Loki, метрики в Prometheus, все смотрим в Grafana. Заодно быстро познакомимся со Spring Boot Actuator и Buildpacks.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
Как работает Spring Context?

Spring Framework это про Application Context и бины. В видео я рассказываю о том, как именно можно добавить определения бинов - через XML-конфигурацию, через классы с аннотацией @Configuration, через сканированием Class Path в поисках классов, аннотированных @Component.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
Как настроить Spring Context

Spring Framework предлагает несколько точек расширения - Bean Post Processor, Bean Factory Post Processor, Bean Definition Registry Post Processor. В видео я рассказываю в каких случаях может быть полезным их использовать и какие задачи с их помощью можно решить.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
Пишем свой Spring Boot Starter

Spring Boot создает впечатление магического черного ящика за счет своих Spring Boot Starter-ов - добавляешь зависимость и как по волшебству все работает. Приоткроем завесу этой магии и напишем свой Spring Boot Starter.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
Как тестировать Spring-овые приложения?

TDD - отличный подход к разработке, так как приложение протестировано еще до того как полностью написано. Spring Framework является отличным инструментом не только для разработки, но еще и для тестирования и сегодня я покажу базовые инструменты для разработки через тестирование в Spring Framework.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
Тестирование веб-приложений со Spring MVC Test

Большая часть современных приложений имеет REST API и Spring Test предоставляет богатые возможности для его тестирования. В новом видео я рассказываю какие инструменты я использую.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
Тестирование слоя доступа к данным со Spring Data JPA Test

Ого, это уже гораздо интереснее - закрываем последний (на текущий момент) непротестированный слой, слой доступа к данным. В обычном спринговом приложении это Spring Data. Spring Data - это круто, если бы не магия под капотом и куча аннотаций на @Entity-классах. К счастью, Spring Test позволяет протестировать и этот слой тоже. Сегодня в выпуске - JDBC, JPA тесты и тесты с Test Containers.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
❤1
End-to-end тестирование со @SpringBootTest

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

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
Spring Security Basics

Начинаю серию выпусков, посвященных Spring Security. В этом выпуске рассказываю самые базовые вещи:

* какую зависимость добавить, чтобы начать;
* разница между авторизацией и аутентификацией;
* хранение учетных записей пользователей в памяти и в базе данных;
* базовая авторизация на основе полномочий.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
❤1🔥1
Jackson and Spring Boot

🧑‍💻 Лайвкодинг - сегодня пишем кастомный сериализатор и десериализатор для Jackson в Spring Boot, а потом тестируем с помощью тестового слоя @JsonTest.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
❤3
Spring Security Authorisation

Продолжаю рассказывать про Spring Security и сегодня в выпуске:

* Security Context Holder как основной держатель информации о пользователей.
* Authentication Provider и Authentication Manager - как логин и пароль из формы попадают во внутренности спринга и проверяются.
* @WithMockUser & @PreAuthotrised - аннотации для тестирования.
* И другие важные для авторизации внутренности.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
🔥2
Media is too big
VIEW IN TELEGRAM
Google Login and Spring Security - Weekly Tips 17

🧑‍💻 Лайвкодинг - как сделать вход через Google в своем приложении всего в несколько строчек кода.

* Google API Credentials - куда зайти в Google Cloud Console чтобы разрешить своему приложению авторизовывать через Google Account.
* Spring Security OAuth2 Client - добавляем и настраиваем зависимость.
* Смотрим на то, как это работает под капотом.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
🔥3
JWT & Spring Security - Weekly Tips 18

🧑‍💻 Лайвкодинг - первая вводная сессия про JWT. Кажется, это просто json закодированный в base64 и разделенный точками, однако, на самом деле, все гораздо сложнее. Особенно, когда необходимо удостовериться, что токен по дороге никто не поменял, не перехватил, и вообще не попытался прочитать.

Видео довольно длинное и покрывает три важные аспекта:

* Spring Security Resource Server - входная точка в мир JWT.
* PlainJWT, SignedJWT, и EncryptedJWT как три последовательно усложняющихся способа защититься от перехвата и подмены токена.
* RSA & AES - ключики и подписи.

Заваривайте крепкий кофе, включайте видео и пишите комментарии.

Видео получилось длинным и не уместилось в 4ГБ в хорошем качестве. Для телеграма я пережал в 720р, если качество не очень - на Бусти и YouTube полная версия видео доступна без ограничений.

Ссылки: Ссылка на код на GitHub | Patreon (если вы не в России) | Boosty (если вы в России) | #SpringFramework
Media is too big
VIEW IN TELEGRAM
👍9
JWT and Spring Authorization Server - Weekly Tips 19

🧑‍💻 Лайвкодинг - второе видео про JWT. В этот раз будем создавать JWT через Spring Authorization Server, посмотрим как используется JWKS для проверки подписей токенов и как можно сделать multitenancy для разных issuer-ов.

Заваривайте крепкий кофе, включайте видео и пишите комментарии.

Ссылки: Ссылка на код на GitHub | Patreon (если вы не в России) | Boosty (если вы в России) | #SpringFramework
Media is too big
VIEW IN TELEGRAM
👍7