Spring简述
1.1什么是Spring?
Spring是一个轻量级的开源的JavaEE框架,由作者RodJohnson创建,兴起于年。目的是为了解决企业级开发的复杂性问题,Spring出发点就是不重新造轮子,而是使现有的技术或框架更加易于使用。具有简单,易于扩展和维护和低耦合等特点。
Spring的核心就是控制反转(IoC)和依赖注入(DI)及面向切面编程(AOP)。
1.2什么是IoC?
IoC就是控制反转(InversionofControl)的缩写。它是软件设计中的一种设计原则和思想。可以有效的降低代码的耦合度,便于程序模块之间灵活组织和切换。实现了可插拔式的接口编程。降低了将来扩展及维护的成本。
IoC的这种思想原则,可以形象比同于“好莱坞原则”。不要给我们(好莱坞演艺公司)打电话,我们会给你打电话(don‘tcallus,we‘llcallyou)”这是著名的好莱坞原则。
比如说,一个大碗儿明星A,在有些小公司演戏,往往可以自己决定要求公司提供什么资源,和什么人搭戏等等,公司就只能顺从大腕儿要求一一满足。这就是说大腕儿决定了他所依赖的资源及其他演员。
而上面这种现象,在好莱坞是不适用的。再大的腕儿,所演的角色及搭配的演员等资源,都是由好莱坞公司来决定的,不是由大腕儿来决定的。这就是说,原来有演员的**控制权反转**了,反转交个公司了,由公司决定了!这就是所谓的好莱坞原则,这也正是所谓的IoC控制反转的概念。
1.3什么是DI?
DI为DependencyInjection的缩写,即“依赖注入”:组件之间依赖关系由容器在运行期决定。组件的创建都有容器来创建,再由容器来决定各组件之间的依赖关系。各个组件不再自己决定依赖的其他对象。话句话说,就是组件运行所依赖的对象只能是注入进来的对象,注入哪个对象,我就依赖哪个!简称依赖注入。
再拿上面例子来说,在好莱坞,演员不能再自己决定自己和谁搭戏了,就是自己不再决定自己的依赖对象,而具体演戏时,依赖(搭戏)的是哪个一个演员,由公司分配(注入),公司给你注入是谁,那就和谁演。
依赖注入是IoC实现的一种方式描述,IoC和DI各从思想原则和方式上分别描述了解耦的这种编程模式。
通过案例解释IoC的优势
2.1下面来写一个耦合的、依赖具体实现的面向对象案例
这里我们分别定义显示器类(GrayDisplay.java)和主机类(Computer.java),其中主机类中直接依赖并实例化了显示器类。然后客户测试使用类(Test.java)。它们的关系如下:
图片来源于网络
本篇Chat全文包含以下内容
IoC概念自定义spring.xml解析spring.xml及反射创建bean对象通过反射组织及注入对象的依赖关系通过容器获得bean对象完整简易版版的自定义SpringDIY框架代码实现
想获取完整全文和代码
请扫码查看原文
▼
转载请注明:http://www.0431gb208.com/sjslczl/3689.html