基本信息
源码名称:AOP简单实验
源码大小:0.20M
文件格式:.zip
开发语言:Java
更新时间:2021-03-31
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

AOP切片的简单实现

* 使用JDK的动态代理实现了简单地AOP思想编程
* 使用反射结合JDK动态代理实现了类似于Spring框架的简单“ @xxx(xx="xxxx") ”的数据注入

package proxy;

import java.lang.reflect.Method;

import org.junit.runner.RunWith;
import org.junit.runners.BlockJUnit4ClassRunner;
import proxy.imp.AOPMethod;
import proxy.imp.AnimalInterface;

@RunWith(BlockJUnit4ClassRunner.class)
public class AOPTest {

public static void main(String[] args) {

AnimalInterface dog = AnimalFactory.getAnimal(DogImp.class, new AOPMethod() {
// 这里写方法执行前的AOP切入方法
public void before(Object proxy, Method method, Object[] args) {
if (method.getName().equals("getProperty")) {
System.err.println("成功拦截" method.getName() "方法,启动");
}
}

// 这里系方法执行后的AOP切入方法
public void after(Object proxy, Method method, Object[] args) {
if (method.getName().equals("getProperty"))
System.err.println("成功拦截" method.getName() "方法,结束");

}
});
dog.say();
String name1 = "我的名字是" dog.getName();
System.out.println(name1);
dog.setName("二狗子");
String name2 = "我的名字是" dog.getName();
System.out.println(name2);
dog.getProperty();
}
}