作为Spring的新手,我的理解是在XML文件中声明的bean告诉ApplicationContext关于项目中的实体是我们希望Spring管理的bean。因此,当启动上下文时,我们可以要求它向我们提供这些bean。因此,从这个意义上讲,XML bean声明文件充当ApplicationContext
关于我们希望它管理的对象的“指南或清单”,从而了解它们。
但是最近,在通过Spring使用Quartz调度程序时,我观察到只是声明Quartz调度程序类的bean会导致上下文启动Quartz调度程序实例,这从启动时应用程序的日志消息中可以看出。显然,当声明为bean时,某些类型的类,ApplicationContext不仅仅意识到它们存在并且可能需要实例化等(关于它们对DI的需求)?什么告诉上下文,在某些类型的bean实际上继续进行并在应用程序启动时实例化它们甚至在从应用程序/用户代码显式调用排序context.getBean('blah blah')
的方法之前?是什么控制了这种行为?