动态代理入门
来源:互联网 发布:淘宝宝贝违规删除不了 编辑:程序博客网 时间:2024/06/05 22:21
public class User {private int id;private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getId() {return id;}public void setId(int id) {this.id = id;}}
public interface UserManager {public void aadUser(User user);public void deleteById(int id);public void updateUser(User user);public User findById(int id);}
public class UserManagerImp implements UserManager {@Overridepublic void aadUser(User user) {System.out.println("----------addUser------------");}@Overridepublic void deleteById(int id) {System.out.println("----------deleteById------------");}@Overridepublic User findById(int id) {System.out.println("----------findById------------");return null;}@Overridepublic void updateUser(User user) {System.out.println("----------updateUser------------");}}
public class SecurityHandler implements InvocationHandler {private Object targetObject;/* * 下面方法是得到代理对象,如果得不到代理对象,这个效果也是没有作用的 * 最后一个参数是InvocationHandler接口,这也是为什么动态代理对象一定要实现这个接口的原因 * 得到的代理对象会执行invoke()方法 */public Object newProxy(Object targetObject){this.targetObject = targetObject;//得到代理对象的方法,这个是反射机制里面的对象方法return Proxy.newProxyInstance(targetObject.getClass().getClassLoader(), targetObject.getClass().getInterfaces(), this);}/* * 在代理对象之前做业务处理,然后再做对象定义的方法,因此最后要返回代理的对象 */@Overridepublic Object invoke(Object proxcy, Method method, Object[] args)throws Throwable {checkSecurity();return method.invoke(this.targetObject, args);}public void checkSecurity(){System.out.println("-----------checkSecurity()----------");}}
public class TestMain{public static void main(String[] args) {//产生一个安全代理的对象方法SecurityHandler handler = new SecurityHandler();//得到一个已经被代理的对象UserManager userManager = (UserManager)handler.newProxy(new UserManagerImp());User user = new User();user.setAge(23);user.setId(1);user.setName("huangbiao");//被代理对象做数据业务之前会先调用invoke()方法userManager.aadUser(user);}}
- 动态代理入门
- aop入门:动态代理
- Java动态代理入门
- 动态代理入门
- Java动态代理 入门
- Java动态代理简单入门
- MyBatis-入门、动态代理、配置
- JAVA的动态代理入门
- JDK动态代理快速入门
- 代理模式【介绍、静态代理、动态代理、入门、应用】
- 动态代理(一)——动态代理入门
- spring入门(13)---JDK动态代理
- 黑马程序员_动态代理入门讲解
- Spring AOP 动态代理入门(一)
- spring-aop入门之动态代理模式
- 《Spring AOP入门——动态代理》
- 一个案例,入门Java动态代理技术
- 关于动态代理和AOP的入门好文
- JSTL学习笔记
- 学习<tbody>标签
- JS 和java1.5可变参数
- UITextField的总结--转载
- 易經大意(14) 三和 韓長庚 著
- 动态代理入门
- swing插件之可视化开发工具windowbuilder
- 《代码阅读方法与实践》导论摘录(一)
- 个人对call和apply方法的理解
- GWT工程架构详解
- my_jquery
- JAVA反射demo例子
- spring AOP 学习笔记
- spring注解学习笔记