首页 > 代码库 > 面向切面编程
面向切面编程
切面:
定义一个切面,在切面的纵向定义处理方法,处理完成之后,回到横向业务。
最常见的是事务控制。
代理模式是AOP的原型。
要实现代理,必须定义接口,每个业务类需要一个代理类。
动态代理:
利用反射,实现invokationHandler类.
Proxy.newProxyInstance(delegate.getClass().getClassLoader(),delegate.getClass.getInterface(),this);
public class LogHandler implements InvocationHandler{
Logger logger = Logger.getLogger(this.getClass().getName());
Object delegate;//代理对象
public Objcet bind(Object delegate){
this.delegate = delegate;
return Proxy.newProxyInstance(delegate.gatClass().getClassLoader(),delegate.getClass().getInterface(),this);
}
public Object invoke(Object proxy,Method method,Object[] args) throws Trowable{
logger.log(Level.info,method.getName()+"开始运行。。。");
Object result = method.invoke(delegate,args);
logger.log(Level.info,method.getName()+"结束运行。。。");
return result;
}
}
面向切面编程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。