关于什么时候加入IoC容器的问题

关于什么时候加入IoC容器的问题

老师,您好!看到现在还是比较迷惑,到底什么时候需要加入IoC容器,什么时候不需要?

我看这里面的ApiRestResponse使用频率很高,但是没有加入IoC容器,有些就加入了  老师能解释一下吗?

正在回答

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

3回答

同学你好,本项目中使用了MyBatis作为持久层,没有也不需要写Dao实现类。@Repository注解写在接口上后,在项目启动时会将Dao接口生成代理注入到Spring容器。

祝学习愉快~

好帮手慕阿慧 2020-10-13 11:35:24

同学你好,

1、ApiRestResponse是用来返回给前端数据的类,只是用来封装返回数据的。当有请求过来时,后端会返回一个ApiRestResponse对象。当有大量用户发送请求时,就会返回很多ApiRestResponse对象,所以ApiRestResponse应该是多例的,应该在需要的时候直接创建一个新的ApiRestResponse对象,所以ApiRestResponse不需要被管理。

2、IOC的机制是处理类之间和接口之间或类与接口之间关联关系,降低代码之间的耦合性。一个类只负责自己逻辑功能代码,如果想调用其它类,如UserController类调用UserService类,就告诉IOC容器去做,而不需要在代码上过多的编写。

也就是当涉及到在一个类中注入另一个类时,需要使用IOC容器管理对象。被IOC容器管理对象一般都是单例的,就是只有一个对象。

3、以@Service为例,@Service注解是标注在实现类上的,而不是接口上。这是因为@Service是把spring容器中的bean进行实例化,也就是等同于new操作,只有实现类是可以进行new实例化的,而接口则不能,所以是加在实现类上的。

建议同学回顾一下之前课程Spring IoC容器和Bean管理。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 mahsiaoko #1
    刚刚看到dao包下面的各个mapper类都加了@Repository注解
    2020-10-13 12:29:30
好帮手慕阿慧 2020-10-12 18:17:16

同学你好,IOC技术是把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象。在项目启动的时候,会初始化Spring容器,创建并管理bean对象。

ApiRestResponse是统一返回的数据格式,如返回msg,data和status。ApiRestResponse不需要被容器管理,所以就不需要加入IoC容器。

祝学习愉快~

  • 提问者 mahsiaoko #1
    我现在不懂的就是为什么ApiRestResponse不需要被管理?这个有什么说法吗?到底哪些需要被管理呢?什么类型的需要被管理?我发现接口好像就没有加上相应的注解 但是接口的实现就加了注解
    2020-10-13 10:27:21
  • 提问者 mahsiaoko #2
    或者说被IoC容器接管的都有什么特点呢
    2020-10-13 10:52:58
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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