Рубрики
Без рубрики

Проверка зависимостей пружины с помощью аннотации @Required

– Проверка зависимостей пружины с помощью аннотации @Required

Spring проверка зависимостей в файле конфигурации компонента используется для проверки того, что все свойства определенных типов (примитива, коллекции или объекта) были установлены. В большинстве сценариев вам просто нужно убедиться, что задано определенное свойство, но не все свойства..

Для этого случая вам нужно @Требуется аннотация , смотрите следующий пример:

@Обязательный пример

Объект клиента, примените @Требуется в методе setPerson(), чтобы убедиться, что свойство person установлено.

package com.mkyong.common;

import org.springframework.beans.factory.annotation.Required;

public class Customer 
{
	private Person person;
	private int type;
	private String action;
	
	public Person getPerson() {
		return person;
	}
	@Required
	public void setPerson(Person person) {
		this.person = person;
	}
}

Простое применение аннотации @Required не приведет к принудительной проверке свойств, вам также необходимо зарегистрировать RequiredAnnotationBeanPostProcessor , чтобы знать о аннотации @Required в файле конфигурации компонента.

Процессор RequiredAnnotationBeanPostProcessor можно включить двумя способами.

1. Включить <контекст: аннотация-конфигурация/>

Добавьте контекст Spring и <контекст:аннотация-конфигурация/> в файл конфигурации компонента.


	...
	
	...

Полный пример,



	

	
		
		
	

	
		
		
		
	
	

2. Включить требуемую аннотацию-постпроцессор

Включите “RequiredAnnotationBeanPostProcessor” непосредственно в файл конфигурации компонента.




	
	
		
		
	

	
		
		
		
	
	

Если вы запустите его, появится следующее сообщение об ошибке, так как свойство person не задано.

org.springframework.beans.factory.BeanInitializationException: 
	Property 'person' is required for bean 'CustomerBean'

Вывод

Попробуйте аннотацию @Required, она более гибкая, чем проверка зависимостей в XML-файле, потому что она может применяться только к определенному свойству.

Ссылка

  1. Ссылка

Оригинал: “https://mkyong.com/spring/spring-dependency-checking-with-required-annotation/”