Виды Dependency Injection в Spring Boot:
Инъекция через поля (Field Injection)
☑ Плюсы: Простота и краткость.
❌ Минусы: Трудно тестировать из-за приватности полей.
Инъекция через сеттеры (Setter Injection)
☑ Плюсы: Позволяет повторно внедрять зависимости при необходимости.
❌ Минусы: Делает зависимости изменяемыми, что может привести к ошибкам во время выполнения.
Инъекция через конструктор (Constructor Injection)
☑ Плюсы: Гарантирует неизменяемость и обеспечивает наличие всех необходимых зависимостей.
❌ Минусы: Требует больше шаблонного кода, если не использовать Lombok.
👉 Java Portal | #tips
Инъекция через поля (Field Injection)
Инъекция через сеттеры (Setter Injection)
Инъекция через конструктор (Constructor Injection)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3❤2
Пошаговое руководство по созданию RESTful веб-сервисов на языке Java с использованием Spring Boot, Spring Data JPA, MySQL
📝 Подробно описывается процесс создания RESTful API, включая настройку проекта, конфигурацию подключения к базе данных MySQL, определение сущностей JPA, создание репозиториев и контроллеров.
Автор также рассматривает реализацию основных операций CRUD (создание, чтение, обновление, удаление) и предоставляет примеры кода для иллюстрации каждого шага.
🔜 Читать: клик
👉 Java Portal | #cтатья
Автор также рассматривает реализацию основных операций CRUD (создание, чтение, обновление, удаление) и предоставляет примеры кода для иллюстрации каждого шага.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3
Чтобы заставить её работать, необходимо использовать усиление байткода через плагин. Тогда поля, помеченные как ленивые, будут загружаться при первом обращении к ним.
Это делается через Maven-плагин
hibernate-enhance-maven-plugin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🌭4🔥2
Media is too big
VIEW IN TELEGRAM
Когда-нибудь задумывался, как Netflix отслеживает, что ты смотришь, или как Uber обновляет местоположение водителей в реальном времени? 🤔
Секрет этих мгновенных обновлений — Apache Kafka!
Представь её как сверхмощную почту, которая обрабатывает миллионы "посылок" в секунду без малейшего напряжения. Круто, правда?
В этом видео уроке простыми и понятными словами о том, как работает Kafka, и с чего начать.
Этот туториал идеально подойдёт разработчикам, которые хотят понять, что происходит "под капотом" современных приложений!😏
📲 Cмотреть источник: тут
👉 Java Portal | #видео
Секрет этих мгновенных обновлений — Apache Kafka!
Представь её как сверхмощную почту, которая обрабатывает миллионы "посылок" в секунду без малейшего напряжения. Круто, правда?
В этом видео уроке простыми и понятными словами о том, как работает Kafka, и с чего начать.
Этот туториал идеально подойдёт разработчикам, которые хотят понять, что происходит "под капотом" современных приложений!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3
GitHub Resume Generator 🔥
➖ Мощный инструмент для мгновенного создания потрясающих, настраиваемых резюме прямо из вашего профиля на GitHub.
Идеально подходит для разработчиков, которые хотят продемонстрировать свои навыки и вклад!
⏩ Ознакомиться:
https://github.com/omeryaldirgan/github-resume-generator
👉 Java Portal | #ресурсы
Идеально подходит для разработчиков, которые хотят продемонстрировать свои навыки и вклад!
https://github.com/omeryaldirgan/github-resume-generator
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤣5🔥4😁1
Юнит-тестирование сервисного уровня в приложении Spring Boot (JUnit 5 и Mockito) 😏
Как настроить окружение для тестирования, включая добавление необходимых зависимостей, таких как spring-boot-starter-test, .
📝 В статье рассмотрим процесс создания тестов для сервисных компонентов, где репозитории заменяются на mock-объекты с помощью Mockito. Основное внимание уделяется проверке бизнес-логики приложения без взаимодействия с реальной базой данных, что позволяет обеспечить изоляцию тестов и повысить их эффективность.
🔜 Читать: клик
👉 Java Portal | #cтатья
Как настроить окружение для тестирования, включая добавление необходимых зависимостей, таких как spring-boot-starter-test, .
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥2
Коллекции Java и производительность
🍩 List (Списки)
🟣 ArrayList – быстрый доступ к элементам и их обход, но вставка/удаление в середине списка требует сдвига элементов.
🟣 LinkedList – удобен для вставки и удаления, но случайный доступ медленный, так как элементы обходятся с начала или конца.
🍩 Set (Множества)
🟣 HashSet – быстрые операции добавления, удаления и поиска (за O(1)), но не сохраняет порядок элементов.
🟣 LinkedHashSet – сохраняет порядок вставки и быстрее перебирается, чем HashSet.
🟣 TreeSet – поддерживает сортировку, но операции добавления, удаления и поиска имеют логарифмическую сложность O(log n).
🍩 Map (Словари/Отображения)
🟣 HashMap – обеспечивает O(1) доступ по ключу, но не сохраняет порядок. Возможны коллизии, которые могут замедлить работу.
🟣 LinkedHashMap – сохраняет порядок вставки и перебирается быстрее, чем HashMap.
🟣 TreeMap – хранит ключи в отсортированном порядке, но операции выполняются за O(log n).
👉 Java Portal | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤7🔥1
Media is too big
VIEW IN TELEGRAM
Платформа коллекций Java | Полный курс
— Курс охватывает платформу коллекций, включая необходимость в коллекциях, их иерархию и интерфейсы. Он включает практические примеры кодирования для интерфейса коллекции, списка, а также классов ArrayList и LinkedList, с акцентом на их сравнение.
📲 Cмотреть источник: тут
👉 Java Portal | #видео
— Курс охватывает платформу коллекций, включая необходимость в коллекциях, их иерархию и интерфейсы. Он включает практические примеры кодирования для интерфейса коллекции, списка, а также классов ArrayList и LinkedList, с акцентом на их сравнение.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2
Как строить высокопроизводительные приложения с использованием Redis, PostgreSQL и Spring Boot. 🤔
📝 В статье рассматривается, как объединить эти технологии для повышения производительности и масштабируемости приложений.
Описываются принципы работы с этими технологиями, как настроить их для эффективной работы, а также предлагаются примеры и лучшие практики по использованию Redis для кеширования и оптимизации работы с PostgreSQL в высоконагруженных приложениях.
🔜 Читать: клик
👉 Java Portal | #cтатья
Описываются принципы работы с этими технологиями, как настроить их для эффективной работы, а также предлагаются примеры и лучшие практики по использованию Redis для кеширования и оптимизации работы с PostgreSQL в высоконагруженных приложениях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4❤2
Коллекция лучших ресурсов для изучения проектирования систем, архитектуры программного обеспечения и подготовки к соответствующим интервью.😏
➖ Включает онлайн-курсы, книги, веб-сайты и шпаргалки для интервью по проектированию систем.
Создатель репозитория, Javin Paul, собрал эти материалы, чтобы помочь разработчикам эффективно подготовиться к интервью и улучшить свои знания в области проектирования систем.
⏩ Ознакомиться:
https://github.com/javabuddy/best-system-design-resources
👉 Java Portal | #ресурсы
Создатель репозитория, Javin Paul, собрал эти материалы, чтобы помочь разработчикам эффективно подготовиться к интервью и улучшить свои знания в области проектирования систем.
https://github.com/javabuddy/best-system-design-resources
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🌭2🔥1
Иллюстрированное руководство по OAuth 2.0 и OpenID Connect (OIDC) 🧠
➖ Автор, Дэвид Нил, объясняет, как эти стандарты работают, используя упрощенные иллюстрации и примеры. OAuth 2.0 — это стандарт безопасности, позволяющий одному приложению получить доступ к данным другого без передачи пароля.
OpenID Connect добавляет слой аутентификации поверх OAuth 2.0, предоставляя информацию о пользователе и поддерживая единый вход (SSO).
🔜 Читать: клик
👉 Java Portal | #cтатья
OpenID Connect добавляет слой аутентификации поверх OAuth 2.0, предоставляя информацию о пользователе и поддерживая единый вход (SSO).
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2🔥1
CodingBat Java
Это сайт с интерактивными задачами по Java (и Python). Он предназначен для тренировки навыков программирования, особенно для начинающих.
🟣 Маленькие задачи по основам Java: строки, массивы, логика, рекурсия.
🟣 Возможность писать код прямо на сайте и сразу получать результат.
🟣 Автоматическая проверка правильности решений.
Хороший способ потренироваться перед собеседованием или экзаменом.❤️
⏩ Ознакомиться:
https://codingbat.com/java
👉 Java Portal | #ресурсы
Это сайт с интерактивными задачами по Java (и Python). Он предназначен для тренировки навыков программирования, особенно для начинающих.
Хороший способ потренироваться перед собеседованием или экзаменом.
https://codingbat.com/java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥1🌚1
Как работает JPA (Java Persistence API) в приложениях Spring, начиная от кода на Java и до взаимодействия с базой данных. 🤔
Описываются этапы, включая использование Spring Data JPA, интерфейса EntityManager, реализации Hibernate, взаимодействие с JDBC, работу с драйверами баз данных и пулом соединений.
▶️ Понимание этих этапов помогает оптимизировать производительность приложений, связанных с персистентными данными.
🔜 Читать: клик
👉 Java Portal | #cтатья
Описываются этапы, включая использование Spring Data JPA, интерфейса EntityManager, реализации Hibernate, взаимодействие с JDBC, работу с драйверами баз данных и пулом соединений.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
Совет: если в Java Map нужно хранить несколько значений для одного ключа, можно использовать Apache Commons MultiValuedMap. Вы добавляете значения, а MultiValuedMap хранит их в List или Set.
👉 Java Portal | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤4🔥2
Подборка курсов по Java
❯ Java для начинающих
https://youtube.com/playlist?list=PLsyeobzWxl7pe_IiTfNyr55kwJPWbgxB5
❯ Spring и Spring Boot
https://youtube.com/playlist?list=PLsyeobzWxl7qbKoSgR5ub6jolI8-ocxCF
❯ Java + Spring + Microservices
https://youtube.com/watch?v=4XTsAAHW_Tc
❯ DSA с использованием Java
https://youtube.com/watch?v=xWLxhF3b5P8
👉 Java Portal | #видео
❯ Java для начинающих
https://youtube.com/playlist?list=PLsyeobzWxl7pe_IiTfNyr55kwJPWbgxB5
❯ Spring и Spring Boot
https://youtube.com/playlist?list=PLsyeobzWxl7qbKoSgR5ub6jolI8-ocxCF
❯ Java + Spring + Microservices
https://youtube.com/watch?v=4XTsAAHW_Tc
❯ DSA с использованием Java
https://youtube.com/watch?v=xWLxhF3b5P8
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤2
10 коллекций, которые должны знать Java-разработчики 🔥
1. HashMap - https://bit.ly/3RjbSLu
2. ArrayList - https://bit.ly/3ATTbZD
3. ConcurrentHashMap - https://bit.ly/3AUabir
4. TreeMap - https://bit.ly/3AQZMnB
5. HashSet - https://bit.ly/3ARPljw
6. BlockingQueue - https://bit.ly/3QZBBc9
7. LinkedList - https://bit.ly/3kcd9Zw
8. TreeSet - https://bit.ly/3BYrvCE
9. HashSet - https://bit.ly/3MtWkE0
10. LinkedHashSet - https://bit.ly/3C2kH6I
👉 Java Portal | #ресурсы
1. HashMap - https://bit.ly/3RjbSLu
2. ArrayList - https://bit.ly/3ATTbZD
3. ConcurrentHashMap - https://bit.ly/3AUabir
4. TreeMap - https://bit.ly/3AQZMnB
5. HashSet - https://bit.ly/3ARPljw
6. BlockingQueue - https://bit.ly/3QZBBc9
7. LinkedList - https://bit.ly/3kcd9Zw
8. TreeSet - https://bit.ly/3BYrvCE
9. HashSet - https://bit.ly/3MtWkE0
10. LinkedHashSet - https://bit.ly/3C2kH6I
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥2
Подробное руководство по реализации аутентификации и авторизации на основе JWT в приложении Spring Boot 3 с использованием Spring Security и базы данных MySQL.
В этом руководстве автор демонстрирует создание REST API для входа пользователей, генерации JWT и его возврата в ответе
▶️ Пошаговые инструкции и примеры кода делают этот туториал ценным ресурсом
🔜 Читать: клик
👉 Java Portal | #cтатья
В этом руководстве автор демонстрирует создание REST API для входа пользователей, генерации JWT и его возврата в ответе
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2