`
bill_sbia
  • 浏览: 156566 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring Aop 概念重整

阅读更多

aspect(方面):point cut 和advice结合起来就是aspect,它类似于oop中定义的一个类,但它代表的更多是对象间横向的关系。

join point(连接点):程序执行过程中的一点。

point cut(切入点):一组join point的总称,用于指定某个建意应该用于何处。

advice(建议):是point cut的执行代码,是“方面”执行的具体逻辑。

introduction(引介):为一个现有的java类或接口添加方法或字段。

weaving(织入):将aspect(方面)整合到完整的执行流程或完整的类。

advice(建议)分为三种:

1.before advice(前置)

在join point调用之前;

2.after advice(后置)

在join point调用之后;

3.around advice(环绕)

这类advice可以完全控制执行流程。除了完成本身的工作之外,它还要负责主动调用join point,促使真实的操作(proceed)发生。proceed列精确的概念是:当执行流程进展到join point时,advice首先接管程序流程控制权。当advice允许执行流程继续前进时,执行真正的方法调用或字段访问时间,称这次操作发生(proceed)了。

 简单实现

第一步:先写一个业务接口Ibusiness

public interface Ibusiness{

public void say();

}

第二步:写一个具的业务实现business

public class business implement Ibusiness{

public void say(){

System.out.println("中国人说中国话");

}

}

第三步:写一个类功能在每调一个方法前都加一句话 

public class logadvice implement MethodInterceptor {

public Object invoke(MethodInvocation arg) throws Throwable {
  // TODO Auto-generated method stub
  System.out.println("开始说话");
  //调用业务方法
  arg.proceed();
   return null;
 }

}

第四步:在spring的配置文件写入如下代码

<beans></beans><beans></beans>


第五步:写一个测试类,这样简单的aop就做完了

public class test{

public static void  main(){

ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
 IBusiness business=(IBusiness) context.getBean("business");
 business.say();

}

}

 

分享到:
评论

相关推荐

    千方百计笔试题大全

    144、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS? 36 145、 file="abc.jsp"%&gt;与 page="abc.jsp"/&gt;之间的差别? 36 146、JSP的缺点? 36 148、如何实现JSP的国际化? 36 150、如何在JSP中...

    java面试宝典

    144、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS? 36 145、与之间的差别? 36 146、JSP的缺点? 36 148、如何实现JSP的国际化? 36 150、如何在JSP中包括绝对路径文件? 使用URLConnection...

    Java面试宝典2010版

    20、什么是spring的IOC AOP 21、STRUTS的工作流程! 22、spring 与EJB的区别!! 八. 软件工程与设计模式 1、UML方面 2、j2ee常用的设计模式?说明工厂模式。 3、开发中都用到了那些设计模式?用在什么场合? ...

    最新Java面试宝典pdf版

    20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计...

    Java面试笔试资料大全

    20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计...

    JAVA面试宝典2010

    20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计...

    Java面试宝典-经典

    20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计...

    java面试题大全(2012版)

    20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计...

    Java面试宝典2012版

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 ...20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 ...

    java面试宝典2012

    20、什么是spring的IOC AOP 137 21、STRUTS的工作流程! 137 22、spring 与EJB的区别!! 137 八. 软件工程与设计模式 138 1、UML方面 138 2、j2ee常用的设计模式?说明工厂模式。 138 3、开发中都用到了那些设计...

    Java面试宝典2012新版

    20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计...

    Java 面试宝典

    一. Java 基础部分..................................................................................................................... 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?...

Global site tag (gtag.js) - Google Analytics