Пружинная электропроводка от AutoDetect
В Spring «Autowiring by AutoDetect» означает выбор «http://www.example.com/spring/spring-autowiring-by-constructor/[autowire by constructor]», если конструктор по умолчанию (аргумент с любым типом данных) , в противном случае используется «http://www.example.com/spring/spring-autowiring-by-type/[autowire by type]».
Смотрите пример Spring «автоматическое подключение по автоопределению». Автоматическое подключение бобов «кунгфу» в «панду» с помощью конструктора или типа (на основе реализации боба панды).
1. Автоопределение - по конструктору
Если указан конструктор по умолчанию, автоопределение выберет проводник по конструктору.
package com.example.common; public class Panda { private KungFu kungfu; public Panda(KungFu kungfu) { System.out.println("autowiring by constructor"); this.kungfu = kungfu; } public KungFu getKungfu() { return kungfu; } public void setKungfu(KungFu kungfu) { System.out.println("autowiring by type"); this.kungfu = kungfu; } //... }
Выход
autowiring by constructor Person [kungfu=Language [name=Shao lin]]
2. Автоопределение - по типу
Если конструктор по умолчанию не найден, автоопределение выберет провод по типу.
package com.example.common; public class Panda { private KungFu kungfu; public KungFu getKungfu() { return kungfu; } public void setKungfu(KungFu kungfu) { System.out.println("autowiring by type"); this.kungfu = kungfu; } //... }
Выход
autowiring by type Person [kungfu=Language [name=Shao lin]]
Скачать исходный код
Скачать -Spring-AutoWiring-by-Auto-Detect-Example.zip (6 КБ)