java动态代理处理事务
来源:互联网 发布:刚出土的兵马俑知乎 编辑:程序博客网 时间:2024/06/07 01:22
·动态代理模型·
有如下UserManage接口:
public interface UserManager{ //增加用户接口 public void addUser(User user); //删除用户 public void deleteUser(String userId); //修改用户 public void updateUser(User user); //根据id获取用户信息 public User findUserById(String userId);}
实现类:
public class UserManagerImpl implements UserManager{ public void addUser(User user){ System.out.println("--addUser()--"); } public void deleteUser(String userId){ System.out.println("--deleteUser()--"); } public void updateUser(User user){ System.out.println("--updateUser()--"); } public User findUserById(String userId){ System.out.println("--findUserById()--"); return null; }}
编写代理类:
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Proxy;public class SecurityHandler implements InvocationHandler{ //代理的目标 private Object targetObject; public Object createProxyInstance(Object targetObject){ this.targetObject = targetObject; //根据目标生成代理 return Proxy.newProxyInstance(targerObject.getClass().getClassLoader(), targetObject.getClass().getInterfaces(), this); } public Object invoke(Object proxy, Method method, Object[] args){ Object ret = null; //调用检查权限的方法 if(checkSomething()){ //调用代理目标的方法 ret = method.invok(targetObject,args); } return ret; } //执行代理的类的方法之前检查的方法 public boolean checkSomething(){ // do some check. System.out.println("--checkSomething()--"); return false; }}
End.
阅读全文
0 0
- java动态代理处理事务
- Java事务(五) - 使用动态代理改造
- 动态代理封装事务
- 代理模式处理事务
- Java动态代理的异常处理问题
- 【Java基础】动态代理实现AOP之控制事务
- Java JDK动态代理实现自己的事务管理器
- Java 代理,动态代理
- java事务学习笔记(六)--使用动态代理(Dynamic Proxy)完成事务
- java事务全解析(六)--使用动态代理(Dynamic Proxy)完成事务
- [Java] Java 动态代理
- java代理及动态代理
- java代理模式--动态代理
- Java静态代理、动态代理
- Java 代理之 动态代理
- Java 代理与动态代理
- java静态代理,动态代理
- 代理模式&java动态代理
- 人工智能到底用GPU还是FPGA?
- Yii框架 AR 基础操作
- redis spring 哨兵 配置
- 视觉SLAM14讲学习笔记
- 一点一点学java—概览
- java动态代理处理事务
- leeetcode15. 3Sum
- AdvancedInstaller设置当用户选择中文路径时弹窗警告
- 经典笔试编程题--Java实现
- 定时器工具类
- POJ
- jquery获取当前页面的URL信息
- 二叉树的前中后遍历推导
- 第九篇 蓝牙配对