1.基本概念:
1.1.Spring容器
Spring容器它负责创建Bean,提供Bean,注入Bean的功能。
1.1.1 ApplicationContext 容器的上下文也就是容器工厂接口。
实现其接口的类有
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
WebApplicationContext:Web专用
1.1.2 BeanFactory:容器工厂面向Spring,很少使用
1.2.IOC
Inversion of Control 控制依赖反转.在使用传统的容器时,客户端要从容器中获取对象,必须想容器申请对象,然后又容器提供对象。在Spring容器中,客户端要使用的对象是由Spring容器自己来注入,不需要客户端想容器发送请求。
1.3.DI
依赖注入;依赖于Spring容器向客户端注入对象。
2.IOC有什么好处?
减少类之间的耦合度。下面说说三种不同的属性注入方式的耦合度
2.1 接口分离
在接口分离的情况下,Person类依赖于Car接口和具体型号的车,并且要负责创建具体型号的车。
2.2 工厂模式
为了减少Person类与具体汽车之间的耦合,那么就用了工厂模式,有工厂模式来负责提供接口Car的实现对象。
2.3 依赖注入
Spring容器依赖于Person类和Car接口以及Car的子接口,从而Person只依赖于Car接口就行了。
原文:http://www.cnblogs.com/kejian/p/4840091.html