阅读257 返回首页    go 阿里云 go 技术社区[云栖]


1.3—Spring基础配置—AOP

1.点睛:
AOP:面向切面编程,相对于OOP面向对象编程。
Spring的AOP的存在目的是为了解耦。AOP可以让一组类共享相同的行为。在OOP中只能通过继承类和实现接口,来使代码的耦合度增强,AOP弥补了OOP的不足。
Spring支持AspectJ的注解式切面编程。
(1)使用@AspectJ声明是一个切面。
(2)使用@After、@Before、@Around定义建言(advice),可直接将拦截规则(切点)作为参数。
(3)其中@After、@Before、@Around参数的拦截规则为切点(PointCut),为了使切点复用,可使用@PointCut专门定义拦截规则,然后在@After、@Before、@Around的参数中调用。
(4)其中符合条件的每一个被拦截处为连接点(JointPoint)

示例将演示基于注解拦截和基于方法规则拦截两种方式,演示一种模拟记录操作的日志系统的实现。其中注解式拦截能够很好地控制要拦截的粒度和获得更丰富的信息,Spring本身在事务处理(@Transcational)和数据缓存(@Cacheable等)上面都使用此种形式的拦截。

最后更新:2017-04-17 08:00:30

  上一篇:go 1.3—Spring基础配置—依赖注入
  下一篇:go 教你如何在机器学习竞赛中更胜一筹(下)