AOP
AOP是Spring一切应用的基础,没有了AOP,Spring就像没了翅膀的鸟---只能在地上蹦跶了。
AOP中有一些基础的概念,需要牢记:
1、切面。 用个比喻会更形象一些。可以把切面理解成一把菜刀,而其他方法就好像是黏糕,如果你要把所有的黏糕都在某个
位置切断,那么就用这个菜刀就行了。这个菜刀,就是我们需要的切面类。
2、切入点。切入点一般是一个表达式。用上面的例子来说,就是我们对哪些黏糕“下手”。
例如
java 代码
- execution(* com.xyz.someapp.service.*.*(..))
这个切入点就表示所有在 com.xyz.someapp.service 包下的所有类的,所有的方法,我们都要用切面去切一刀。
3、 通知。 通过切入点,我们知道要对哪些黏糕下手,但是,我们还得知道要在黏糕的哪个位置下手,是在头部(Before),
尾部(After),还是首尾(Around)等等。
虽然AOP部分的内容不少,但是如果使用spring的话,AOP也大多是应用在事务控制里。
如果要单独使用AOP,那么就好像是使用了一个双刃剑,所以,能不用就不用,尽量不用。
事务控制
使用注释的方式会让这个过程变得简单,没有理由不使用它。