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

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

1. Обзор

В этом руководстве мы реализуем пользовательскую аннотацию Spring с постпроцессором компонента .

Итак, как это помогает? Проще говоря, мы можем повторно использовать один и тот же bean-компонент вместо того, чтобы создавать несколько похожих bean-компонентов одного типа.

Мы сделаем это для реализаций DAO в простом проекте — заменив их все одним гибким GenericDao .

2. Мавен

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

1. Введение

В этом кратком руководстве мы объясним, как использовать аннотацию @Autowired в абстрактных классах .

Мы применим @Autowired к абстрактному классу и сосредоточимся на важных моментах, которые следует учитывать.

2. Инъекция сеттера

Мы можем использовать @Autowired в методе установки:

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

1. Обзор

По умолчанию Spring предоставляет две стандартные области действия компонента ( «singleton» и «prototype» ), которые можно использовать в любом приложении Spring, а также три дополнительных области действия компонента ( «request» , «session» и «globalSession» ) для использования . только в веб-приложениях.

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

Например, если вы разрабатываете систему с несколькими арендаторами, вы можете захотеть предоставить отдельный экземпляр определенного компонента или набора компонентов для каждого арендатора. Spring предоставляет механизм для создания настраиваемых областей действия для таких сценариев, как этот.

В этом кратком руководстве мы покажем, как создавать, регистрировать и использовать пользовательскую область видимости в приложении Spring .

2. Создание пользовательского класса области видимости

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

1. Движущие силы

В приложении Spring внедрение одного bean-компонента в другой bean-компонент очень распространено. Однако иногда желательно внедрить компонент в обычный объект. Например, мы можем захотеть получить ссылки на службы из объекта сущности.

К счастью, добиться этого не так сложно, как может показаться. В следующих разделах будет показано, как это сделать с помощью аннотации @Configurable и AspectJ weaver.

2. Аннотация @Configurable

Эта аннотация позволяет экземплярам декорированного класса содержать ссылки на bean-компоненты Spring.

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

1. Обзор

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

2. Проблема

Для начала представим, что мы установили свойство в файл свойств:

name = Inject a value to a static field

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

1. Введение

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

Проще говоря, мы продемонстрируем примеры с интерфейсами коллекции List, Map, Set .

2. Список с @Autowired

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

1. Введение

Lombok — чрезвычайно полезная библиотека для преодоления шаблонного кода. Если вы еще не знакомы с ним, настоятельно рекомендую взглянуть на предыдущий туториал — Introduction to Project Lombok .

В этой статье мы продемонстрируем его удобство использования в сочетании с инъекцией зависимостей на основе конструктора Spring .

2. Внедрение зависимостей на основе конструктора

Хороший способ связать зависимости в Spring с помощью Dependency Injection на основе конструктора . Этот подход заставляет нас явно передавать зависимости компонента конструктору.

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

1. Введение

В этом базовом руководстве мы узнаем, как выполнить простую настройку bean-компонента на основе XML с помощью Spring Framework.

2. Обзор

Начнем с добавления зависимости библиотеки Spring в pom.xml :

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.4.RELEASE</version>
</dependency>

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

1. Введение

В этом руководстве мы увидим, как решить распространенную ошибку Hibernate — «Нет поставщика сохраняемости для EntityManager». Проще говоря, поставщик сохраняемости относится к конкретной реализации JPA, используемой в нашем приложении для сохранения объектов в базе данных.

Чтобы узнать больше о JPA и его реализациях, мы можем обратиться к нашей статье о разнице между JPA, Hibernate и EclipseLink .

2. Что вызывает ошибку

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

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

1. Обзор

В этом руководстве мы рассмотрим причину ошибки TransactionRequiredException и способы ее устранения.

2. Исключение TransactionRequiredException

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

Например, попытка обновить запись без транзакции: