码迷,mamicode.com
首页 > 编程语言 > 详细

对Spring IOC和AOP的理解

时间:2018-04-13 23:35:46      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:思想   bsp   属性注入   功能   对象   相互   项目   spring   ioc   

控制反转(IOC)是什么?(理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”)

1、Ioc—Inversion of Control:即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。

2、谁控制谁,控制什么:传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象即由Ioc容器来控制对象的创建。

     谁控制谁?当然是IoC 容器控制了对象。

     控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。

3、为何是反转,哪些方面反转了: 有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象。

    为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转。

    哪些方面反转了?依赖对象的获取被反转了。       

        还是不明白没事,下面搞个简单案例来说就懂啦 !!!

        例子:当我们在任何一个有实际开发意义的程序项目中,我们会使用很多类来描述他们特有的功能,并且通过类与类之间的相互协作来完成特定的业务逻辑。这个时候,每个类都需要负责管理与自己有交互的类的引用和依赖,代码将会变的异常难以维护和极高的高耦合。而IOC的出现正是用来解决这个问题,我们通过IOC将这些依赖对象的创建、协调工作交给spring容器去处理,每个对象值需要关注其自身的业务逻辑关系就可以了。在这样的角度上来看,获得依赖的对象的方式,进行了反转,变成了由spring容器控制对象如何获取外部资源(包括其他对象和文件资料等)。

 总的来说:IOC就是通过在Xml配置文件里依赖注入来解决代码问题。

 

IOC的注入类型有几种?主要可以划分为三种:构造函数注入、属性注入和接口注入。Spring支持构造函数注入和属性注入

           

 

面向切面(AOP)是什么?(面向切面编程)

                      

对Spring IOC和AOP的理解

标签:思想   bsp   属性注入   功能   对象   相互   项目   spring   ioc   

原文地址:https://www.cnblogs.com/Jones-dd/p/8824444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!