1

我需要创建一个有状态的原型bean,即在构造函数中获取参数。

我尝试使用@Configuration 创建该bean,但发现如果我使用参数化构造函数它不起作用......

请注意,我要传递的参数不是弹簧豆……它们是简单的 POJO……所以我不能自动装配它们。

所以这就是我想做的 -


@Configuration
public class MyClassFactory {

@Bean
public MyClass getMyClass(Pojo1 pojo1, Pojo2 pojo2) {

    return new MyClass (pojo1, pojo2);
}

}

@Scope("PROTOTYPE")
public class MyClass {

public MyClass(Pojo1 pojo1, Pojo2 pojo2) {
...
}

@Autowired SomeService1 service1;
@Autowired SomeService1 service2;

...

}

当然,我可以制作 MyClass applicationContextAware,并从中获取服务,而不是使其成为原型 bean……但想知道为什么不允许使用上述模式……

4

0 回答 0