Spring IOC需要添加注解标志,还要添加配置文件添加bean,最后使用还要加载配置文件获取bean才可以调用,那么为什么说会比new新的对象要方便?只是因为Spring框架可以控制变量的生命周期吗?但是普通代码块结束后变量一样会释放,又有什么区别呢?
如果说是方便DI的话加一个注解确实比普通的get set方法方便一些,但也不至于会比普通定义方便很多吧?
Spring IOC比new定义方便,那么到底方便在哪里呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 悬弧 2021-08-15 10:22关注
您问到的,方便在哪里?我说下几点
1.代码更简洁,注解就搞定
2.交由spring容器管理bean,就是相当于建立了一个代理,可以随意拓展,不需要修改原来代码可能您是初学者,估计还没能感受到拓展这一词的重要性,比如有一个接口方法,里面的业务逻辑很复杂,各种判断条件,这个接口已经部署到生产稳定使用了1年,现在产品想要在这个接口方法参数中,根据某个条件,满足的话,就插入一条日志记录到数据库中。这时候你怎么做?
大致有两种做法:
1.直接在原来接口上改,增加关于某条件的判断插入日志记录到数据库
2.不修改原来的接口进行拓展,使用代理的方式,在方法调用前后进行捕获参数判断插入日志逻辑正常情况下,对于正常在使用的接口,除非是不得不去改,否则不要去动,因为我们根本不知道实现该方法的人的具体思路,可能动进去就是牵一发动全身,影响了所有的功能,那这个锅就得你背了,我想你不会含冤背锅的吧
因此,一般我们都是对接口进行拓展,基于spring aop去拓展,就不会影响到原有业务功能了这还只是一个案例,可能还有些代码,打成了jar包,让你在jar包里面做扩展,这时,new出来的对象,将会让你哭笑不得,因为,jar包里面都是class文件的,根本无法编辑和修改
现在的springboot 不需要那么麻烦了,不需要在配置文件xml配置bean了,会更方便。而且现在主流也是springboot了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1
悬赏问题
- ¥15 怎么把512还原为520格式
- ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
- ¥15 求高通平台Softsim调试经验
- ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
- ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
- ¥15 栅极驱动低侧烧毁MOSFET
- ¥30 写segy数据时出错3
- ¥100 linux下qt运行QCefView demo报错
- ¥50 F1C100S下的红外解码IR_RX驱动问题
- ¥20 基于matlab的航迹融合 航迹关联 航迹插补