它是否在@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. @Qualifier()和@Autowired()不起作用
- 2. spring @autowired
- 3. @Qualifier和@Resource Spring测试框架
- 4. 使用Spring的@Autowired和scala
- 5. Jackson 2和Spring Autowired bean
- 6. 如何使Spring @autowired注释选择某种类型而不使用@Qualifier?
- 7. spring @ autowired nullpointer
- 8. Spring @Component @Autowired
- 9. Spring Boot Autowired null
- 10. Inject URL()Spring Autowired
- 11. Spring autowired user
- 12. Vaadin-spring autowired
- 13. Spring Boot - Autowired MongoClient
- 14. Spring Framework Autowired
- 15. Spring @Autowired注解和ContextComponent扫描和@autowired注释对象
- 16. 为什么Spring @Qualifier不能与Spock和Spring Boot配合使用
- 17. Spring @Autowired bean null null
- 18. Java Spring Data @Autowired issue
- 19. Spring Boot Autowired failed - null
- 20. Spring autowired bean创建
- 21. Spring Propagation.REQUIRES_NEW nullfies autowired repositories
- 22. Spring @Autowired在Servlet中
- 23. @autowired @ qualifier指向jar文件应用程序中的服务
- 24. Spring singleton @autowired服务和共享状态
- 25. @Autowired和实例
- 26. Spring @Qualifier不工作没有@Primary
- 27. Spring注解:当类@Autowired
- 28. @Autowired注解的Spring MVC
- 29. Spring @Autowired令人困惑
- 30. Spring 3.2默认值为@Autowired
问题太广泛 – developer