singleton:
单例(默认值),在每个SpringIOC容器中,一个bean定义对应一个对象实例。
prototype:
一个bean定义对应多个对象实例。
执行时机(创建bean的时机):
singleton:
初始化IOC容器时,就会创建对象;以后再getBean时,不再产生新的对象(bean)。
但:单例也支持延迟加载:
在第一次使用时才产生对象(bean)。
在配置类中的方法上使用@Lazy注解。
prototype:
容器在初始化时,不创建对象;只是在每次使用时(每次从容器中获取对象时,即context.getBea(Xxx)),
再创建对象;并且 每次getBean()都会创建一个新的对象。