都已经控制反转了,为什么还要继续在bean的实例化中添加工厂类

都已经控制反转了,为什么还要继续在bean的实例化中添加工厂类

spring里的工厂和自己写的工厂不是重叠了吗?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕阿满 2020-01-07 18:03:54

在spring的配置文件中,可以设置scope="singleton"表示创建单例的bean,如:

http://img1.sycdn.imooc.com//climg/5e14572809544f4212010114.jpg

scope的值除了singleton外,还有prototype(多例)。

祝:学习愉快~

不停奔跑的小恐龙 2020-01-07 15:30:49

http://img1.sycdn.imooc.com//climg/5e14337e0914714205850183.jpg

这样创建出来的bean才是单例吧,工厂类写成静态只是方便调用而已

  • 我在回答中回复了你。另外建议同学新开一个问答提问。祝:学习愉快~
    2020-01-07 18:04:28
  • 我在回答中回复了你。另外建议同学新开一个问答提问。祝:学习愉快~
    2020-01-07 18:04:28
chrismorgen 2019-03-10 15:30:03

同学指的是下图的代码吗?如果是,下图标记的代码是读取applicationContext.xml中的注册信息。然后在获取一个spring的容器,最后通过getBean方法来获取bean1的实例对象,这个不属于重叠,这是获取bean实例对象的一种方式,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5c84bbf80001142512680205.jpg

  • 这位同学是想问,都已经使用工厂模式进行控制翻转了,为什么还要我们自己写实例化工厂或者静态工厂类来实例化我们的对象,这不重复了吗?IOC已经帮我们实现了工厂类,为什么我们自己还要再手写工厂类?
    2019-09-12 00:30:47
  • 同学你好,ioc是容器,在该容器中使用静态工厂或者实例工厂的方式实例bean。祝:学习愉快~
    2019-09-12 18:23:28
  • 老师你好,请帮忙回答一下, 这位同学是想问,都已经使用工厂模式进行控制翻转了,为什么还要我们自己写实例化工厂或者静态工厂类来实例化我们的对象,这不重复了吗?IOC已经帮我们实现了工厂类,为什么我们自己还要再手写工厂类?
    2019-09-13 23:28:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师