Spring AOP

来源:互联网 发布:为什么要营改增 知乎 编辑:程序博客网 时间:2024/06/10 20:44
一、 AOP 

1. AOP是什么? 
  AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。 

2. 切面意义何在? 
  就可以在这层切面上进行统一的集中式权限管理。而业务逻辑组件则无需关心权限方面的问题。也就是说,通过切面,我们可以将系统中各个不同层次上的问题隔离开来,实现统一集约式处理。各切面只需集中于自己领域内的逻辑实现。这一方面使得开发逻辑更加清晰,专业化分工更加易于进行;另一方面,由于切面的隔离,降低了耦合性,我们就可以在不同的应用中将各个切面组合使用,从而使得代码可重用性大大增强。 

3. AOP应用范围 

  Authentication 权限 
  Caching 缓存 
  Context passing 内容传递 
  Error handling 错误处理 
  Lazy loading 懒加载 
  Debugging  调试 
  logging, tracing, profiling and monitoring 记录跟踪 优化 校准 
  Performance optimization 性能优化 
  Persistence  持久化 
  Resource pooling 资源池 
  Synchronization 同步 
  Transactions 事务 


二、Spring事务处理  

1.Spring事务管理能给我们带来什么? 

  对于传统的基于特定事务资源的事务处理而言(如基于JDBC 的数据库访问),Spring并不会对其产生什么影响,我们照样可以成功编写并运行这样的代码。同时,Spring还提供了一些辅助类可供我们选择使用,这些辅助类简化了传统的数据库操作流程,在一定程度上节省了工作量,提高了编码效率。 

  对于依赖容器的参数化事务管理而言,Spring则表现出了极大的价值。Spring本身也是一个容器,只是相对EJB容器而言,Spring显得更为轻便小巧。我们无需付出其他方面的代价,即可通过Spring实现基于容器的事务管理(本质上来讲,Spring的事务管理是基于动态AOP)。 
0 0
原创粉丝点击