解耦
个人理解,spring首先创建一个bean.xml的配置文件,创建一个核心容器,然后根据配置文件中bean的id来创建对象,通过这种方式来实现解耦,这和通过工厂模式创建一个bean.propertie配置文件,然后创建map容器存放bean对象是同一种思想:
工厂模式
1 | ACCOUNTSERVICE=com.gsynf.service.impl.AccountServiceImpl |
1 | package com.gsynf.factory; |
spring
1 |
|
1 | package com.gsynf.ui; |
另:获取spring核心容器详解
1 | ApplicationContext:BeanFactory子接口的子接口,较为常用 |
控制反转 Inversion of Control
原来:
我们在获取对象时,都是采用new的方式。是主动的。
现在:
我们获取对象时,同时跟工厂要,有工厂为我们查找或者创建对象。是被动的。
这种被动接收的方式获取对象的思想就是控制反转,它是spring框架的核心之一。
它的作用只有一个:削减计算机程序的耦合。
注:转载文章请注明出处,谢谢~