IOC(控制反转,反向控制)
2016-03-25 20:47
288 查看
IOC又称DI(依赖注入),是对传统流程的一种颠覆。当某个实例需要另一个实例协助时,在传统的程序设计中,通常由调用者创建被调用者的实例。但在IOC中,创建被调用者的工作不再由调用者来完成,而是由容器来完成(例如Spring),而不再是调用者,所以说控制被反转了,称为控制反转。
1、传统设计
(1)应用层:
package xie.ioc;
public class App {
public static void main(String[] args) { String name = "hello word"; Service service = new Service(); service.service(name); } }
(2)、Service层
package xie.ioc;
public class Service { private Dao dao = new Dao(); public void service(String words){ dao.say(words); } }
(3)、DAO层
package xie.ioc;
public class Dao { public void say(String words){ System.out.println(words); } }
2、控制反转
(1)、IDao
package xie.ioc1; public interface IDao { public String say(String words); }
(2)、DaoImpl
package xie.ioc1; public class DaoImpl implements IDao{ public String say(String words) { // TODO Auto-generated method stub return words; } }
(3)、IService
package xie.ioc1; public interface IService { public void service(String words); }
(4)、ServiceImpl
package xie.ioc1; public class ServiceImpl implements IService { private IDao dao; public void service(String words) { // TODO Auto-generated method stub System.out.println(dao.say(words)); } public IDao getDao() { return dao; } public void setDao(IDao dao) { this.dao = dao; } }
(5)、Test
package xie.ioc1; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; public class Test { public static void main(String[] args) { String 4000 words = "hello world"; XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml")); IService service = (IService) factory.getBean("service"); service.service(words); } }
(6)、applicationContext.xml
相关文章推荐
- 控制反转与依赖注入
- spring 入门及IOC容器
- Spring3核心技术之IOC控制反转
- IoC
- Android中的“控制反转”(下)
- Autofac官方文档翻译——(二)组件注册(未完)
- Spring的IoC/DI的理解
- IoC/DIP其实是一种管理思想(转自CoolShell)
- Spring
- 控制反转(IoC)与依赖注入(DI)
- Spring的核心机制依赖注入简介
- 控制反转和依赖注入
- 关于IOC和DI的理解
- 浅析Spring中ClassPathXmlApplicationContext()的装配过程
- Spring的控制反转(IOC)和依赖注入(DI)详解
- 【Android开发经验】来,咱们自己写一个Android的IOC框架!
- Java的反射机制
- 控制反转与依赖注入模式
- spring——控制反转
- IoC(Inversion of Control)控制反转