【发布时间】:2018-08-14 02:01:48
【问题描述】:
我有关注代码
interface Drivable {
}
@Component
class Bmw implements Drivable {
}
@Component
class Mercedes implements Drivable {
}
class Driver {
private Drivable drivable;
public Driver(Drivable drivable) {
this.drivable = drivable;
}
}
还有 Spring Java 配置
@Configuration
@ComponentScan
class CarConfig {
@Bean
@Qualifier("mercedes")//the code won't work
public Driver getDriver(Drivable drivable) {
return new Driver(drivable);
}
@Bean//I've added the bean
public Drivable getMercedes() {
return new Mercedes();
}
}
如果我想指定应该传递给方法的对象类型,我可以使用@Qualifier 注释和@Bean 注释吗?我在 Spring doc 中找不到如何解决问题。谢谢。
【问题讨论】:
-
如果要将参数限制为特定类型,只需使其采用该特定类型即可。
getDriver(Mercedes mercedes).
标签: spring