JDK中Proxy实现切面编程
来源:互联网 发布:手机淘宝退货在哪里 编辑:程序博客网 时间:2024/06/05 18:30
切面编程:对类中的方法设置权限
JDK中Proxy实现AOP举例
PersonService.java
package com.aop.service;public interface PersonService {public String getUser();public void save();public void update();}
PersonServiceImpl.java
package com.aop.service.impl;import com.aop.service.PersonService;public class PersonServiceImpl implements PersonService{private String user = null;public PersonServiceImpl() {}public PersonServiceImpl(String user){this.user = user;}public String getUser() {return user;}public void save() {System.out.println("save()");}public void update() {System.out.println("update()");}}
JDKProxyFactory.java
package com.aop.factory;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import com.aop.service.impl.PersonServiceImpl;public class JDKProxyFactory implements InvocationHandler {private Object targetObject;public Object createProxyInstance(Object targetObject){this.targetObject = targetObject;return Proxy.newProxyInstance(this.targetObject.getClass().getClassLoader(),this.targetObject.getClass().getInterfaces(), this);}@Overridepublic Object invoke(Object proxy, Method method, Object[] args)throws Throwable {PersonServiceImpl service = (PersonServiceImpl) this.targetObject;Object result = null;if(service.getUser() != null){result = method.invoke(targetObject, args);}return result;}}
测试类:AOPTest.java
package com.aop.junit;import com.aop.factory.JDKProxyFactory;import com.aop.service.PersonService;import com.aop.service.impl.PersonServiceImpl;public class AOPTest {public static void main(String[] args) {JDKProxyFactory factory = new JDKProxyFactory();PersonService service = (PersonService) factory.createProxyInstance(new PersonServiceImpl());service.save();}}
- JDK中Proxy实现切面编程
- 使用JDK动态代理实现切面编程
- 使用java的Proxy实现AOP(面向切面编程)
- 切面编程的实现
- EJB中切面编程
- JDK Proxy实现接口代理
- 自己实现JDK的Proxy
- JDK中Proxy类源码
- Spring 的切面编程AOP如何实现 注入切面程序
- JDK的动态实现代码-->Proxy.newProxyInstance()
- JDK中的Proxy技术实现AOP功能
- JDK中的Proxy技术实现AOP功能
- JDK中的Proxy技术实现AOP功能
- spring面向切面编程--JDK代理和CGLIB代理
- JDK的动态代理-面向切面编程简单使用
- JDK proxy
- JDK Proxy
- 面向切面编程(实现例子)
- css插入框
- 静态链接
- Eclipse中直接将web项目发布到Tomcat的webapps
- poj1458最长公共子序列(LCS)
- css中的white
- JDK中Proxy实现切面编程
- e-人事管理系统-招聘管理-招聘申请
- 面向对象设计原则
- css的display属性
- 【python】关于range()与xrange()
- 一种程序界面文字换肤方法
- 并发
- 第十一天:我需要一个帮助Plug-in
- css可视化格式模式