我有一个实现 W 接口的 B 类。它具有 W 方法的默认实现。类 C 和 D 覆盖默认实现,它们需要一个服务,其 bean 由 spring 实例化。字符串 a 和 b 来自用户,因此我无法提前创建 B/C/D 的 bean。所以我有一个工厂,它根据用户参数创建一个新对象(它将根据参数创建 B/C/D)。有什么干净的方法可以从 C 和 D 内部使用服务 bean(aa/bb/cc/dd 等)(在服务器启动期间弹簧自动装配,当时实例化 B/C/D 所需的参数不可用)或有没有更好的方法来解决这个问题?
Class B implements W{
String a;
String b;
B (String a, String b);
w_method(){
}
}
Class C extends B {
@Autowired
Service aa;
@Autowired
Service bb;
@Autowired
Service cc;
@override
w_method(){
}
}
Class D extends B {
@Autowired
Service dd;
@override
w_method(){
}
}