[TOC]
第一个问题就是说这三个思想到底是什么。
第二个问题,说一下框架的概念到底是什么。
程序代码我们再去获取并对象时,不直接new 而找第三方,只不过找第三方。我们就分情况是这个bean本身或者这个bean可能需要被增强。 下面我们看一下。
# 1.首先我们说第一种思想就是我们的IOC思想。
IOC本身不是个单词它就以Inversion of control 就控制反转或者反转。
```
控制它强调什么?就是bean的创建权的一个反转。
反转给谁,给第三方就原先我们的程序代码内部要想获取某个bean。
总结,即现在想要创建一个bean对象,把控制权转让给第三方,反转出去。这就是IOC思想。
```
# 2.第二个思想就是你的DI思想。
<u>DI(denpendency injection),翻译成中文,是注入强调。</u>
强调是bean的一种注入关系或设置关系。
打个比方,第一个bean需要设置第二个bean才能达到我想的一些效果。
原先是怎么做的呢?
```
通过程序代码找第三方要bean,再要bean2。把bean2设置给bean1。即人为做的。
```
现在怎么做的呢?
```
把设置的动作交给第三方,创建bean1的时候,同时创建bean2。把bean2设置给bean1。
```
程序代码获取bean1的时候,内部已经包含bean2。DI的一个作用。即bean依赖于bean2的注入。
# 3.第三种思想叫AOP,
它是一个面向切面编程的思想。就是aspect oriented programming。
面向切面编程,它其实要比我们的面向对象编程更加高级。
面向对象编程是纵向设计,AOP 面向切面编程,它是横向功能抽取的一个思想。
当然它主要的实验方式就是我们的processing,它的思想主要的功能是对某一个bean然后进行增强的,你就记住这一点就行。