将单例注入(inject)原型(prototype) bean 的类加载会是什么行为?
我已经尝试过在单例中注入(inject)原型(prototype)并使用查找方法解决问题的其他方法。
最佳答案
这取决于您是否使用 BeanFactory。 BeanFactory 可以延迟加载类。
没有 BeanFactory
如果从 Spring-Context 的开始到结束,Singleton 和 Prototype 的具体实现是已知的,那么至少在调用 Context 的 start-method 时它们是加载的。 java中类的默认类初始化是由使用的ClassLoader完成的。
这意味着,在 bean 可 Autowiring 之前,
之后,上下文开始使用
start
-方法。然后,如果需要原型(prototype) Bean(通过
context.getBean
或直接 @Autowired
,原型(prototype)的.使用 BeanFactory
它的行为可能不同,因为 Prototype bean 可以返回尚未从相应类加载器加载的 Bean 实例。如果是这样,则按以下顺序及时加载原型(prototype) bean:
关于spring - 在 Spring 将单例注入(inject)原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51783796/