在Spring框架中,如果有多个相同类别的Bean但具有不同的ID,想要为它们添加别名,可以采用以下方法:
@Component("bean1")
public class MyBean1 {
// ...
}
@Component("bean2")
public class MyBean2 {
// ...
}
@Configuration
public class AppConfig {
@Bean("bean1")
public MyBean1 myBean1() {
return new MyBean1();
}
@Bean("bean2")
public MyBean2 myBean2() {
return new MyBean2();
}
}
@Component
public class MyComponent {
private final MyBean1 bean1;
private final MyBean2 bean2;
public MyComponent(@Qualifier("bean1") MyBean1 bean1, @Qualifier("bean2") MyBean2 bean2) {
this.bean1 = bean1;
this.bean2 = bean2;
}
// ...
}
@Configuration
public class AppConfig {
@Bean
@Qualifier("bean1")
public MyBean1 myBean1() {
return new MyBean1();
}
@Bean
@Qualifier("bean2")
public MyBean2 myBean2() {
return new MyBean2();
}
}
通过以上方法,在配置和使用Bean时,可以确保不同ID但相同类别的Bean能够得到别名,从而避免冲突。
上一篇:不同活动的意图 - 相同的列表