发表于: 2017-04-15 23:08:39
1 1199
今天完成的事情:
1.学习 Java 动态代理
1.学习 Spring AOP
明天计划的事情:
1.学习事务处理
遇到的问题:
暂无
收获:
1.总算弄懂了动态代理,对于理解 AOP 很有帮助,主要是这张图
//实现 InvocationHandler 接口
public class CheckHandler implements InvocationHandler {
//代理的目标的实现类
private Object targetObject;
public Object setTargetObject(Object targetObject){
this.targetObject = targetObject;
//实例化目标对象
return Proxy.newProxyInstance(targetObject.getClass().getClassLoader(), targetObject.getClass().getInterfaces(),this);
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
//我们需要代理的业务
checkSecurity();
//返回对象
return method.invoke(targetObject,args);
}
void checkSecurity(){
System.out.println("-----checkSecurity-----");
}
}
2.学习切面的时候会用注解 @Aspect 来定义切面,并设置相应增强
评论