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

Пружинные Бобы для Автоматической проводки

– Пружинные Бобы Автоматической Проводки

В Spring framework вы можете автоматически подключать бобы с помощью функции автоматической проводки. Чтобы включить его, просто определите атрибут ” autowire ” в .

	

Весной поддерживается 5 режимов автоматической проводки.

  • нет – По умолчанию, автоматической проводки нет, установите ее вручную через “ref” атрибут
  • byName – Автоматическая проводка по имени свойства. Если имя компонента совпадает с именем другого свойства компонента, автоматически подключите его.
  • byType – Автоматическая проводка по типу данных свойства. Если тип данных компонента совместим с типом данных другого свойства компонента, автоматически подключите его.
  • конструктор – режим байтового типа в аргументе конструктора.
  • автоопределение – Если найден конструктор по умолчанию, используйте “автоматическое подключение по конструктору”; В противном случае используйте “автоматическое подключение по типу”.

Примеры

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

package com.mkyong.common;

public class Customer 
{
	private Person person;
	
	public Customer(Person person) {
		this.person = person;
	}
	
	public void setPerson(Person person) {
		this.person = person;
	}
	//...
}
package com.mkyong.common;

public class Person 
{
	//...
}

1. Автоматическая проводка “нет”

Это режим по умолчанию, вам нужно подключить свой компонент через атрибут ‘ref’.

	
                  
	

	

2. Автоматическая проводка “по имени”

Автоматическое подключение компонента по имени свойства. В этом случае, поскольку имя компонента “персона” совпадает с именем свойства компонента “клиент” (“персона”), поэтому Spring автоматически подключит его с помощью метода настройки – ” setPerson (Персона) “.

	
	
	

Смотрите полный пример – Автопроводка пружины по имени .

3. Автоматическая проводка “по типу”

Автоматическое подключение компонента по типу данных свойств. В этом случае, поскольку тип данных компонента “персона” совпадает с типом данных свойства компонента “клиент” (объект Person), поэтому Spring автоматически подключит его с помощью метода настройки – ” setPerson (Персона) “.

	
	
	

Смотрите полный пример – Пружинный автопровод по типу .

4. “Конструктор” автоматической проводки

Автоматически подключайте компонент по типу данных свойства в аргументе конструктора. В этом случае, поскольку тип данных компонента “персона” совпадает с типом данных аргумента конструктора в свойстве компонента “клиент” (объект Person), поэтому Spring автоматически подключил его с помощью метода конструктора – ” публичный клиент (Персона) “.

	
	
	

Смотрите полный пример – Автоматическое подключение пружины конструктором .

5. Автоматическая проводка “автоматическое обнаружение”

Если найден конструктор по умолчанию, используется “конструктор”; В противном случае используется “по типу”. В этом случае, поскольку в классе “Клиент” есть конструктор по умолчанию, поэтому Spring автоматически подключил его с помощью метода конструктора – ” публичный клиент (Человек) “.

	
	
	

Смотрите полный пример – Автоматическое подключение пружины с помощью автоматического определения .

	

Вывод

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

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

Оригинал: “https://mkyong.com/spring/spring-auto-wiring-beans-in-xml/”