依赖注入与控制反转
2017-11-02 23:40
225 查看
记得大学开的有一门课是软件工程,而且还是两个学期,可能实践的机会少有的理论可能也只是记住的,比如软件设计的六大原则:单一原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则,但没真正的理解明白为什么要这样。现在毕业也3年多了,项目也接触了几个,还有一些开源的框架,记得在中软给华为做外包时帮悍马其他组的支援了几天,当时还不知道ABP框架,对IOC也只是听说过,并没有理解。当接触了ABP框架才发现,原来当时做的项目就是采用的ABP框架啊。其实像这些设计原则、还有模式这些,主要还是为了系统的高内聚,低耦合。最近在自学javaweb,学javaweb自然不能少了spring,spring的核心就是IOC和AOP,今天主要来说下IOC——Inversion of Control/控制反转。
一、依赖注入DI—Dependency Injection
1.依赖
在说IOC之前先聊下依赖注入,依赖注入可以分两部分一是依赖二是注入。那什么是依赖?不是我自身的但没有就活不下去,人没了空气、水、阳光,那就活不下去。所以人依赖空气、水、阳光。下面代码定义了一个Person和一个CleanAir的类,Person依赖CleanAir。
View Code
7.项目结构
8.运行main方法
上面几步算是简单的实现了spring的ioc,但只是大概简单的了解,并未深入。我们在mian中并为进行new创建,而是通过spring来自动填充,找到对应的依赖注入给service。
一、依赖注入DI—Dependency Injection
1.依赖
在说IOC之前先聊下依赖注入,依赖注入可以分两部分一是依赖二是注入。那什么是依赖?不是我自身的但没有就活不下去,人没了空气、水、阳光,那就活不下去。所以人依赖空气、水、阳光。下面代码定义了一个Person和一个CleanAir的类,Person依赖CleanAir。
package Cuiyw.SpringAop; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import Cuiyw.Spring.IService.IService; public class App { public static void main( String[] args ) { ApplicationContext context=new ClassPathXmlApplicationContext(new String[]{"ApplicationContext.xml"}); BeanFactory factory=context; IService service=(IService)factory.getBean("ServiceImpl"); service.service("Cuiyw"); } }
View Code
7.项目结构
8.运行main方法
上面几步算是简单的实现了spring的ioc,但只是大概简单的了解,并未深入。我们在mian中并为进行new创建,而是通过spring来自动填充,找到对应的依赖注入给service。
相关文章推荐
- 依赖注入(DI)和控制反转(IOC)的详细分析
- Laravel 服务容器实例教程 —— 深入理解控制反转(IoC)和依赖注入(DI)
- Spring4深入理解01----Bean配置(依赖注入和控制反转的区别)
- 工厂模式、控制反转及依赖注入
- 解构控制反转(IoC)和依赖注入(DI)
- spring 控制反转与依赖注入原理-学习笔记
- 控制反转和依赖注入模式
- 依赖注入和控制反转的理解,写的太好了
- Spring框架中IOC控制反转和DI依赖注入区别
- 分层,工厂模式,依赖注入控制反转
- 通俗易懂的spring的依赖注入(和控制反转)的讲解。
- 控制反转(IOC)与依赖注入(DI)
- PHP的依赖注入(DI) 和 控制反转(IoC)
- 依赖注入和控制反转的概念描述
- 控制反转(IOC)和依赖注入(DI)的区别
- 我所理解的依赖注入,控制反转,面向切面
- 架构设计之依赖倒置、控制反转与依赖注入
- SpringMVC学习-->控制反转(IoC)与依赖注入(DI
- 控制反转与依赖注入
- PHP控制反转(IOC)和依赖注入(DI)