春の豆のファクトリクラスを作成しようとしていました
public interface MyBean implements TBean{}
@Component
@Scope("prototype")
public class MyBeanImpl implements MyBean{
public MyBeanImpl(Request request){//..}
}
@Component
public class MyFactory {
public <T extends TBean> T createbean(Class<T> interfaceToCreate, Object... args) {
return (T)AppContext.getApplicationContext().getBean(interfaceToCreate, args);
}
}
メソッドはApplicationContextオブジェクトをAppContext.getApplicationContext()
返します
ここで、次のような春のBeanを作成できるはずです。
@Autowired
protected MyFactory factory;
Request myRequest;
void somemethod(){
factory.createbean(MyBean.class, myRequest)
}
しかし、BeanFactory は次のようなメソッドを公開していません:そして私はクラスgetBean(Class<T> clazz, Object... args)
のデフォルトコンストラクターを持っていませんMyBeanImpl
誰かがそれを達成する方法を知っていますか?