在spring中可以从抽象类继承,并让实现自动创建任何@Bean
注释方法的实例吗?
Example:
abstract class BaseConfig {
@Bean
public Car car() {
//very complex initialize routine for a car
Car car = new Car();
car.setmanufacture(getManufacture());
System.out.println("complex car created");
return car;
}
abstract Manufacture getManufacture();
}
@Configuration
CustomManu1 extends BaseConfig {
Manufacture getManufacture() {
//return custom manufacture
}
}
@Configuration
CustomManu2 extends BaseConfig {
Manufacture getManufacture() {
//return custom manufacture
}
}
@Configuration
@Import({CustomManu1.class, CustomManu2.class})
public class AppConfig {
}
是否可以继承@Bean
并让spring在这里创建2个Car
类型的Bean?
答案 0 :(得分:1)
是的,公共方法是继承的,因此CustomManu1
和CustomManu2
将继承@Bean
带注释的方法car()
。
让春天在这里创造出两种类型的Beans豆?
这取决于您加载@Configuration
类的方式。