java - 这个原型(prototype)类只会被Spring容器创建一次吗?

标签 java spring dependency-injection

由于 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/

相关文章:

java - 带注释 @PostConstruct (javax) 的方法不会调用

go - 接口(interface)中的相同结构

java - 我如何检查 @PreAuthorize 正在查看哪些角色?

java - Spring Hibernate 查询中的日期

jsf - Java EE 中 CDI 技术的用途及其与 JSF 等 UI 技术和 EJB 等后端技术的关系

java - Jhipster 的生产概况

java - Spring 集成 - 用于整理/批处理服务调用的适当模式

java - 我的程序出现内存不足错误

java - 在 Java 中跨多个类使用枚举

Java URL 解码器未按预期工作