在一次方法调用中只获取一个原型bean,可以通过Spring框架的ObjectFactory
或ObjectProvider
来实现。
ObjectFactory
:ObjectFactory
是Spring框架提供的一个接口,用于获取原型bean的实例。ObjectFactory
来获取实例。ObjectFactory
的getObject()
方法可以获取原型bean的实例。示例代码:
@Autowired
private ObjectFactory<PrototypeBean> prototypeBeanFactory;
public void someMethod() {
PrototypeBean prototypeBean = prototypeBeanFactory.getObject();
// 使用原型bean实例
}
ObjectProvider
:ObjectProvider
是Spring框架提供的另一个接口,也可以用于获取原型bean的实例。ObjectProvider
来获取实例。ObjectProvider
的getIfAvailable()
方法可以获取原型bean的实例。示例代码:
@Autowired
private ObjectProvider<PrototypeBean> prototypeBeanProvider;
public void someMethod() {
PrototypeBean prototypeBean = prototypeBeanProvider.getIfAvailable();
// 使用原型bean实例
}
以上两种方式都可以在一次方法调用中只获取一个原型bean的实例。需要注意的是,每次调用getObject()
或getIfAvailable()
方法都会返回一个新的原型bean实例。
领取专属 10元无门槛券
手把手带您无忧上云