A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1187682049 初级黑马   /  2018-9-14 15:08  /  1202 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 1187682049 于 2018-9-14 15:12 编辑

说这个之前,要首先对Spring框架的思想有一个基本的了解.
Spring框架认为,一切java资源都是Java Bean,这里说的Java Bean和我们之前做项目写的Student类不是一个概念,你可以把这里的Bean理解为java的各种资源.
为了降低程序各个部分之间的耦合,Spring尽量不让程序去手动new一个新的对象,而是通过xml文件或者注解的方式,让Spring IoC容器去管理对象的创建和销毁,你只要在需要的时候把你的请求告诉IoC容器,容器就会返回给你你需要的对象,大大降低了程序之间的耦合性.试想一下,你有一个类被一千个其他类引用,当你想改为引用其他类的时候,你需要去其他类里面一个一个地去修改,这简直是个灾难.
像这样,程序放弃了java资源的创建,销毁等控制权,而是把这个权力交给了Spring IoC容器,这就叫控制转移,专业术语就叫控制反转.
Spring的IoC容器不光管理Bean的创建销毁和行为,还管理Bean之间的关系,我们通过XML描述文件来告诉容器不同Bean之间的关系,容器会识别我们的描述信息,并且根据描述信息来创建正确的Bean对象并返回给你.比如在你的描述信息里,Account类里面包含了一个User类作为成员对象,那么容器会识别它,并创建一个含有User成员对象的Account类.
这就是SpringIoC的理念,让你不需要操心各种Bean的创建和销毁 ,它来给你提供,你只需要关心的业务代码,完成你想做的功能就行了,这就是SpringIoC的魅力所在.

4 个回复

倒序浏览
SpringIoC的魅力就在于此
回复 使用道具 举报
同意楼上的意见
回复 使用道具 举报
一起努力了,我想变成大神
回复 使用道具 举报
啦啦啦啦我也变成大神
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马