Spring AOP 学习之静态代理
2015-08-06 19:49
381 查看
AOP:aspect oriented programming 面向切面编程 将一个功能做成一个切面类,要用的时候,动态的置入到目标中的过程。
Spring的代理有两种,分别为动态代理和静态代理
现在看静态代理
1、ProductBiz接口,定义一个addProduct 业务方法
2、ProductBizImpl实现类
如果我们需要在添加产品前进行权限验证,那么这个时候我们需要添加代理。
代理类
测试类:
输出:
Spring的代理有两种,分别为动态代理和静态代理
现在看静态代理
1、ProductBiz接口,定义一个addProduct 业务方法
[code]package com.yc.biz; public interface ProductBiz { public void addProduct(); }
2、ProductBizImpl实现类
[code]package com.yc.biz; //真实主题 public class ProductBizImpl implements ProductBiz { @Override public void addProduct() { System.out.println("**********************"); System.out.println("添加产品"); System.out.println("**********************"); } }
如果我们需要在添加产品前进行权限验证,那么这个时候我们需要添加代理。
代理类
[code]package com.yc.biz; //代理类 public class ProductBizRightProxy implements ProductBiz { private ProductBiz productBiz; public ProductBizRightProxy(ProductBiz productBiz) { this.productBiz=productBiz; } @Override public void addProduct() { //加入检查权限的功能//前置增强 check(); this.productBiz.addProduct(); } private void check(){ System.out.println("================="); System.out.println("检查权限"); System.out.println("================="); } }
测试类:
[code]package com.yc.biz; public class Test { public static void main(String[] args) { ProductBiz pb=new ProductBizRightProxy(new ProductBizImpl()); pb.addProduct(); } }
输出:
相关文章推荐
- Opentaps(OFBiz)在Eclipse下调试配置
- [转]Spring配置之OpenSessionInViewFilter
- JAVA项目1:聊天
- Java之String类
- Java之正则表达式验证手机号码
- JDK1.7的新特性
- Java之正则表达式【实例解析】
- Java之正则表达式【使用语法】
- 使用java api操作Hadoop文件
- java工厂模式
- Struts2验证框架
- java 集合框架--14
- 解决NDK开发中Eclipse报错“Unresolved inclusion jni.h”的最终方法
- 学习相关:构建maven spring mvc
- 我讨厌注解式的Spring IOC
- 文件上传
- eclipse的背景设置
- SpringMVC 注解之@ResponseBody
- javax.naming.NoInitialContextException: Need to specify class name in environment or system property
- Hadoop入门(10)_通过java代码实现从本地的文件上传到Hadoop的文件系统