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

Проверка зависимостей свойств пружины

– Проверка зависимостей свойств пружины

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

Режимы проверки зависимостей

поддерживаются 4 режима проверки зависимостей:

  • нет – Нет проверки зависимостей.
  • простой – Если какие-либо свойства примитивного типа (int, long, double…) и типов коллекций (карта, список..) не были установлены, будет выдано исключение UnsatisfiedDependencyException.
  • объекты – Если какие-либо свойства типа объекта не были заданы, будет выдано исключение UnsatisfiedDependencyException.
  • все – Если какие-либо свойства любого типа не были заданы, будет выдано исключение UnsatisfiedDependencyException .

P.S Режим по умолчанию – нет

Пример

Объект клиента и Человека для демонстрации.

package com.mkyong.common;

public class Customer 
{
	private Person person;
	private int type;
	private String action;

	//getter and setter methods
}
package com.mkyong.common;

public class Person 
{
	private String name;
	private String address;
	private int age;
	
	//getter and setter methods	
}

1. проверка зависимостей отсутствует

Файл конфигурации Spring bean с режимом проверки зависимостей “нет”.



	
		
	

	
		
		
		
	


Если вы явно не определили режим проверки зависимостей, по умолчанию он равен “нет”. Проверка зависимостей не выполняется.

2. простая проверка зависимостей

Файл конфигурации Spring bean с “простым” режимом проверки зависимостей.



	

		
		
	

	
		
		
		
	


Свойство ‘type’ (примитивный тип или типы коллекций) не было задано, будет вызвано исключение UnsatisfiedDependencyException .

org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'CustomerBean' 
defined in class path resource [config/Spring-Customer.xml]: 
Unsatisfied dependency expressed through bean property 'type': 
Set this property value or disable dependency checking for this bean.

3. проверка зависимостей объектов

Файл конфигурации Spring bean с режимом проверки зависимостей “объекты”.



	

		
		
	

	
		
		
		
	
	

Свойство ‘person’ (тип объектов) не было задано, будет вызвано исключение UnsatisfiedDependencyException .

org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'CustomerBean' 
defined in class path resource [config/Spring-Customer.xml]: 
Unsatisfied dependency expressed through bean property 'person': 
Set this property value or disable dependency checking for this bean.

4. проверка всех зависимостей

Файл конфигурации Spring bean с режимом проверки зависимостей “все”.



	

		
	

	
		
		
		
	


Комбинация режима “простой” и “объекты”, если какие-либо свойства любого типа (примитив, коллекция и объект) не были установлены, будет выдано исключение UnsatisfiedDependencyException .

Глобальная проверка зависимостей по умолчанию

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



	
		
		
	

	
		
		
		
	
	

Все компоненты, объявленные в этом файле конфигурации, по умолчанию находятся в режиме проверки зависимостей “все”.

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