它是否在@Autowired中自動檢測?當使用@Qualifier時,是否按名稱進行注射?我們如何使用註釋來執行setter和構造函數注入Spring @Autowired和@Qualifier
3
A
回答
7
您可以使用@Qualifier和@Autowired。逸岸春天會問你明確選擇,如果不明確的bean類型中發現的豆,在這種情況下,你應該提供資格
例如在以下情況下,必須提供一個限定符
@Component
@Qualifier("staff")
public Staff implements Person {}
@Component
@Qualifier("employee")
public Manager implements Person {}
@Component
public Payroll {
private Person person;
@Autowired
public Payroll(@Qualifier("employee") Person person){
this.person = person;
}
}
1
的@Qualifier註解用於解決自動裝配衝突,當有多個相同類型的bean時。
@Qualifier註釋可用於任何用@Component註解的類或用@Bean註釋的方法。此註釋也可以應用於構造函數參數或方法參數。
例如: -
public interface Vehicle {
public void start();
public void stop();
}
有兩種豆,汽車和自行車實現車輛接口使用@Autowired與@Qualifier註解中VehicleService
@Component(value="car")
public class Car implements Vehicle {
@Override
public void start() {
System.out.println("Car started");
}
@Override
public void stop() {
System.out.println("Car stopped");
}
}
@Component(value="bike")
public class Bike implements Vehicle {
@Override
public void start() {
System.out.println("Bike started");
}
@Override
public void stop() {
System.out.println("Bike stopped");
}
}
注漿自行車豆。如果你沒有使用@Qualifier,它會拋出NoUniqueBeanDefinitionException。
@Component
public class VehicleService {
@Autowired
@Qualifier("bike")
private Vehicle vehicle;
public void service() {
vehicle.start();
vehicle.stop();
}
}
相關問題
- 1. Spring Constructor @Autowired和@Qualifier失敗
- 2. 與@Autowired @Qualifier和
- 3. @Qualifier()和@Autowired()不起作用
- 4. Spring @Autowired和Singletons
- 5. spring @autowired
- 6. @Qualifier和@Resource Spring測試框架
- 7. Jackson 2和Spring Autowired bean
- 8. 使用Spring的@Autowired和scala
- 9. 如何使Spring @autowired註釋選擇某種類型而不使用@Qualifier?
- 10. 關於Spring @Autowired和Spring的問題JDBC
- 11. Spring Boot - Autowired MongoClient
- 12. Spring autowired user
- 13. Spring Boot Autowired null
- 14. Spring automagic,@Autowired
- 15. spring @ autowired nullpointer
- 16. Spring @Autowired detection
- 17. Spring Framework Autowired
- 18. Spring @Component @Autowired
- 19. Vaadin-spring autowired
- 20. Inject URL()Spring Autowired
- 21. Spring @Autowired註解和ContextComponent掃描和@autowired註釋對象
- 22. 爲什麼Spring @Qualifier不能與Spock和Spring Boot配合使用
- 23. spring rmi @autowired return null
- 24. Spring autowired bean創建
- 25. Java Spring Data @Autowired issue
- 26. Spring Boot Autowired failed - null
- 27. Spring Propagation.REQUIRES_NEW nullfies autowired repositories
- 28. Autowired spring bean是nul
- 29. Spring @Autowired bean null null
- 30. Spring @Autowired在Servlet中
問題太廣泛 – developer