1.在Spring中,设置创建bean实例是单实例还是多实例 就是 bean的作用域
2.在Spring里面,默认情况下,bean是单实例对象,就是获取bean对象的时候地址一样
地址一样
3.如何设置单实例还是多实例
(1)在spring配置文件bean标签scope用于设置单实例还是多实例
(2)scope属性值
第一个值 默认值,singleton,表示单实例对象
第二个值prototype,表示多实例对象
地址不同
(3)singleton和prototype的区别
第一:singleton表示单实例,prototype表示多实例
第二:设置scope值是singleton,在加载配置文件的时候就会完成创建单实例对象
设置scope值是prototype的时候,不是在加载配置文件的时候就会完成创建多实例对象,而是在getBean获取对象的时候创建多实例对象
这个时候就联想到了两个ICO接口BeanFactory和ApplicationContext的区别
(4)factoryBean作用域问题
factoryBean默认创建的时候就是多实例对象,并且及时更改为singleton创建出来依然是多实例,其根本原因他是通过factorybean中的实现接口Factorybean方法中GetObject,手动创建对象类并且返回的
scope还有两个属性:request和session