请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

beanfactory和scope

老师,请问一个问题。
bean不是默认是singleton单例模式么。按道理读取xml时候就已经创建bean了。
那我现在缺省了scope配置,使用beanfactory。
为啥beanfactory不是读取xml时候就创建了bean,而是要等到getbean时候才创建bean。
这不是和scope缺省模式(singleton)自相矛盾么?

正在回答

1回答

同学好,首先,并不矛盾呀,singleton只是说明你的bean在容器里面只有唯一一个实例,和什么时候创建无关,如果你用的是applicationContext的容器,里面的bean默认都是非延时加载的,也就是一开始就创建好,而你这里是beanFactory,用到的时候才会经由beanFactory来创建对应的bean

0 回复 有任何疑惑可以回复我~
  • 提问者 厥~~~ #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-08-27 09:53:09
  • 提问者 厥~~~ #2
    老师好。但是scope=prototype时候,applicationContext不是立即加载的,而是用到时候加载的。 所以我理解这个scope会决定加载时间。 那scope=singleton时候难道不会改变beanfacotory让他立即加载么?
    回复 有任何疑惑可以回复我~ 2020-08-27 09:55:35
  • 翔仔 回复 提问者 厥~~~ #3
    同学可以写个demo试试,写个static块,然后打印一下信息,或者在构造函数里打印信息,看看信息是不是在容器初始化的时候被打印就知道了
    回复 有任何疑惑可以回复我~ 2020-08-28 12:42:36
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信