Spring中的ioc

      当我们学习spring的时候,很多同学都会学到aop和ioc,那么什么叫做aop和ioc呢,大多数人会直接固化的说aop就是事务管理,ioc就是用来控制反转,依赖注入的。大家都知道这个概念,OK,那么问题来啦,什么叫做依赖注入呢?

        依赖注入,就是通过application.xml里面配置bean标签来实现依赖注入,回顾一下spring的工作原理:tomcat启动时,也是先加载web.xml,找到核心控制器来加载配置文件,在加载配置文件的时候就创建了bean,实现了依赖注入。

        这时候你就发现,什么是依赖注入,不就是new出来一个新对象嘛,的确,就是new出来一个新对象。这时候就有疑问了,哎呀,依赖注入,这么简单,我直接在类里面需要用到的时候用到的时候new不就行了,想用的时候new一个不就行,还用得着spring帮我创建吗?问题来了,为什么要使用ioc帮助我们创建对象呢?

        这就是spring厉害的地方,大家知道,Tomcat的内存为64Mb,后来加大了内存容量,java中有个管家婆就是垃圾回收机制,但是她不是那么的智能,不能帮我们清理干净。在一个大项目开发的时候,如果我们想用对象就new对象的话,那么会不会造成内存过大呢,java自动回收机制也因为我们代码的不规范,无法回收内存,还造成内存溢出。而spring呢他是在一个线程池上创建的对象,当我们们使用的时候就拿出来,不用的时候就挂起,很大程度的解决了内存溢出的问题,spring也是一个解耦合,利于团队开发的框架,他有很多的优点。

        以后,大家不要只说spring的两大核心aop和ioc,应该说他们问什么要用ioc,和aop。

猜你喜欢

转载自blog.csdn.net/qq_42430767/article/details/80651238