spring ioc 和 aop-----一些小结

话说,学习spring也快大半年了,写业务层代码也写了半年之久了,对于spring中的一些核心技术现在还是似懂非懂的,很是纠结啊。。。

最近一直看别人写的对于这一块的理解,于是乎,我有点懂了。

首先来谈谈什么是Ioc(Inversion of controler,控制反转)

基本的java思想:Java程序中的每个业务逻辑至少需要两个或者以上的对象来协作完成、通常,每一个对象在使用他的合作对象的时候,自己均要使用像new.object()这样的语句来完成合作对象的申请。这样对象之间的耦合度很高。

而Ioc的思想是:spring容器来实现这些相互依赖对象的创建,协调工作。对象只需要关系业务逻辑本身就可以了。这样的话,对象如何得到他的合作对象的责任就被反转了。

Ioc的一个重点是在系统运行中,动态的向某个对象提供他们所需要的对象。这一点是通过DI(dependency injection,依赖注入);来实现的。

对于实现依赖注入,就需要用到java1.4之后的的新特性-反射(reflection),他允许程序在运行的时候动态的生成对象,执行对象的方法,改变对象的属性,spring正是通过这一特性来实现注入的。


再来看看AOP(Aspect Oriented Programing)-面向切面编程呢?

首先看看学习AOP之前需要了解的术语

  • 连接点(jointPoint)

  • 切点(pointCut)

  • 增强(advice)

  • 目标对象(target)

  • 引介(introduction)

  • 代理(proxy)

  • 切面(aspect)

AOP的实现者

  • AspectJ

  • AspectWerkz

  • JBoss AOP

  • spring AOP




你可能感兴趣的:(spring ioc 和 aop-----一些小结)