技术总结之SpringAOP

1)SpringAOP原理

SpringAOP基于代理模式实现。主要使用JDK中的动态代理和第三方依赖库cglib来实现,Spring优先选择JDK的动态代理,如果需要代理的类没有实现接口(或者无接口),则用cglib来完成代理功能。因为JDK的动态代理需要依赖接口(目前JDK6是这样的)。


2)SpringAOP事务控制简单模拟实现(JDK动态代理)

a)新建接口UserService

  1. public interface UserService {


  2. public void addUser();

  3. public void delUser();

  4. }



b)实现类UserServiceImp

  1. public class UserServiceImp implements UserService {


  2. @Override

  3. public void addUser() {

  4. System.out.println("add user success!");

  5. }


  6. @Override

  7. public void delUser() {

  8. System.out.println("del user success!");

  9. }


  10. }



c)代理实现ProxyService


d)测试代码

  1. public static void main(String[] args) throws Exception {

  2. ProxyService ps = new ProxyService();

  3. UserService us = (UserService) ps.createTargetObj(new UserServiceImp());

  4. us.addUser();

  5.         System.out.println("***************************");

  6.         us.delUser();

  7. }


e)测试结果

至此模拟实现完成。


3)SpringAOP声明试配置

其实使用SpringAOP是非常方便的,配置如下:


本文出自 “doctoryang” 博客,请务必保留此出处http://ybchina.blog.51cto.com/8888456/1579334

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。