由于 Spring 中的 bean 默认情况下是单例,因此如果调用者是单例,则只会创建原型(prototype)类的单个实例:
@Service
MySingletonClass
{
new MyInstanceClass
}
@Scope("prototype")
MyInstanceClass
最佳答案
是的。 如果您在单例中注入(inject)原型(prototype),则只会发生一次,因为 Spring 只会从上下文中“拉”原型(prototype)一次。
@Service
MySingletonClass
{
@Autowired
private MyInstanceClass;
}
请注意,如果另一个 bean 使用原型(prototype) bean,这将创建另一个实例。
请注意,在您的示例中,使用 new
创建对象将不会与 Spring 框架交互。该对象将不在上下文中,您将无法使用其上的 spring 功能。
关于java - 这个原型(prototype)类只会被Spring容器创建一次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23710827/