一丶IOC
首先文绉绉的说说什么是IOC:
IOC 是指原先我们代码里面需要实现的对象创建,维护对象之间的依赖关系,反转给容器来帮忙实现,那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象的关系。依赖注入的目的是为了解耦,体现一种“组合”的理念。继承一个父类,子类将于父类耦合,组合关系是耦合度大大降低。SpringI OIC 容器负责创建Bean,并通过容器将Bean注入到需要的Bean对象上。同时Spring IOC 容器还负责维护Bean对象之间的关系。
一句话说明IOC: Spring使用了控制反转的思想把各种对象的创建以及对象之间的关系处理交给了Spring这个容器来管理了,我们需要用对象时直接向容器拿就行了(前提是已经先往容器里放入也就是注入了对象)。
二丶AOP
首先文绉绉的说说什么是AOP:
AOP是Aspect Oriented Programming的缩写,意为面向切面编程,通过预编译方式(静态代理)和运行期动态代理实现程序功能的同一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的课重复性和开发效率。AOP重要的功能有日子记录,性能统计,安全控制,事务处理和异常处理等。
一句话说明AOP: AOP就是在业务逻辑代码上的一种增强,这种增强代码不是很重要,非业务逻辑代码,比如执行某业务前后一瞬间要输出日志,这种非业务逻辑的功能就是交给AOP来处理执行的,AO要执行的功能可以通过静态代理和动态代理实现。