将单例注入原型bean的类加载的行为是什么?
我已经尝试过以其他方式将原型注入单例并使用查找方法解决问题。
答案 0 :(得分:0)
这取决于是否使用BeanFactory。 BeanFactory可以延迟加载类。
如果从Spring上下文的开始到结束都知道Singleton和Prototype的具体实现,则至少在调用Context的开始方法时才加载它们。 java中Class的默认class初始化是由使用的ClassLoader完成的。
这意味着,在Bean可以自动处理之前,
然后,上下文开始使用start
方法。
然后,如果需要原型Bean(通过context.getBean
或通过直接@Autowired
,则是原型Bean。
它的行为可能有所不同,因为Prototype Bean可以返回尚未从相应的类加载器加载的Bean实例。如果是这样,则会按此顺序按时加载原型bean: