Перейти к основному содержимому

· 5 мин. чтения

1. Обзор

В этом кратком руководстве мы увидим сходства и различия между <?> и <? расширяет Object> в Java Generics .

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

2. Общие сведения о дженериках

Обобщения были введены в JDK 5 для устранения ошибок во время выполнения и повышения безопасности типов. Эта дополнительная безопасность типов устраняет приведение типов в некоторых случаях использования и позволяет программистам писать общие алгоритмы, которые могут привести к более читаемому коду.

· 3 мин. чтения

1. Обзор

В этом руководстве мы узнаем, как настроить поставщика аутентификации в Spring Security, что обеспечивает дополнительную гибкость по сравнению со стандартным сценарием с использованием простого UserDetailsService .

2. Поставщик аутентификации

Spring Security предоставляет множество вариантов выполнения аутентификации. Эти опционы следуют простому контракту; запрос аутентификации обрабатывается AuthenticationProvider, и возвращается полностью аутентифицированный объект с полными учетными данными.

Стандартной и наиболее распространенной реализацией является DaoAuthenticationProvider, который извлекает сведения о пользователе из простого пользовательского DAO, доступного только для чтения, UserDetailsService . Эта служба сведений о пользователе имеет доступ только к имени пользователя , чтобы получить полную сущность пользователя, что достаточно для большинства сценариев.

· 7 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим возможности, предлагаемые Spring для выполнения аутентификации JDBC с использованием существующей конфигурации DataSource .

В нашей публикации «Аутентификация с помощью UserDetailsService на основе базы данных » мы проанализировали один из подходов к достижению этой цели, реализуя интерфейс UserDetailService самостоятельно.

На этот раз мы воспользуемся директивой AuthenticationManagerBuilder#jdbcAuthentication , чтобы проанализировать плюсы и минусы этого более простого подхода.

2. Использование встроенного соединения H2

· 3 мин. чтения

1. Обзор

В этой статье мы обсудим различные способы удаления записи из Java HashMap .

2. Введение

HashMap хранит записи в парах (Key, Value) с уникальными ключами. Таким образом, одной из идей было бы использование ключа в качестве идентификатора для удаления связанной записи с карты.

Мы можем использовать методы, предоставляемые интерфейсом java.util.Map , для удаления записи, используя ключ в качестве входных данных.

· 3 мин. чтения

1. Обзор

Это третья статья из серии о XStream. Если вы хотите узнать о его основном использовании для преобразования объектов Java в XML и наоборот , обратитесь к предыдущим статьям.

Помимо возможностей обработки XML, XStream также может преобразовывать объекты Java в JSON и обратно. В этом уроке мы узнаем об этих функциях.

2. Предпосылки

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

· 4 мин. чтения

1. Обзор

В предыдущей статье мы узнали, как использовать XStream для сериализации объектов Java в XML. В этом руководстве мы узнаем, как сделать обратное: десериализовать XML в объекты Java. Эти задачи могут быть выполнены с помощью аннотаций или программно.

Чтобы узнать об основных требованиях для настройки XStream и его зависимостей, обратитесь к предыдущей статье.

2. Десериализовать объект из XML

Для начала предположим, что у нас есть следующий XML:

· 7 мин. чтения

1. Обзор

В этом руководстве мы узнаем, как использовать библиотеку XStream для сериализации объектов Java в XML.

2. Особенности

Есть несколько интересных преимуществ использования XStream для сериализации и десериализации XML:

  • При правильной настройке он создает очень чистый XML.
  • Предоставляет значительные возможности для настройки вывода XML
  • Поддержка графов объектов , включая циклические ссылки
  • В большинстве случаев экземпляр XStream является потокобезопасным после настройки (есть предостережения при использовании аннотаций).
  • Во время обработки исключений предоставляются четкие сообщения, помогающие диагностировать проблемы.
  • Начиная с версии 1.4.7, у нас есть функции безопасности, позволяющие запретить сериализацию определенных типов.

· 4 мин. чтения

1. Обзор

В этом руководстве мы поговорим о ключевом слове « заморожено » в базе данных Apache Cassandra . Сначала мы покажем, как объявить замороженные коллекции или определяемые пользователем типы (UDT) . Далее мы обсудим примеры использования и то, как это влияет на основные операции постоянного хранилища.

2. Конфигурация базы данных Cassandra

· 2 мин. чтения

1. Обзор

В нашем предыдущем руководстве A Guide to Java HashMap мы показали, как использовать HashMap в Java.

В этом коротком руководстве мы узнаем , как получить подкарту из HashMap на основе списка ключей.

2. Используйте поток Java 8

Например, предположим, что у нас есть HashMap и список ключей:

· 2 мин. чтения

1. Обзор

В этом коротком руководстве мы узнаем, как преобразовать Long в String в Java .

2. Используйте Long.toString()

Например, предположим, что у нас есть две переменные типа long и Long (одна примитивного типа, а другая ссылочного типа):

long l = 10L;
Long obj = 15L;