java – 在运行时创建的对象中使用自动装配的bean
我有一个实现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(){
}
}