思诚科技 seecen LOGO
咨询热线:0791-87557233
 您现在的位置:  首页 > Java框架 

Spring Framework中的AOP编程之入门篇

来源:网络    更新时间:2014-12-2


  作为这个介绍Spring框架中的面向方面编程(ASPect-OrientedProgramming,AOP)的系列的第一部分,本文介绍了使您可以使用Spring中的面向方面特性进行快速开发的基础知识。使用跟踪和记录方面(面向方面领域的HelloWorld)作为例子,本文展示了如何使用Spring框架所独有的特性来声明切入点和通知以便应用方面。本系列的第二部分将更深入地介绍如何运用Spring中的所有通知类型和切入点来实现更实用的方面和面向方面设计模式。

  本文的目的不是要介绍构成模块化J2EE系统——即Spring框架——的所有重要元素,我们将只把注意力放在Spring所提供的AOP功能上。由于Spring的模块化设计方法,我们可以只使用该框架的AOP元素,而无需对构成Spring框架的其他模块做太多考虑。

  在AOP方面,Spring提供了什么?

  “它的目标不是提供最完善的AOP实现(虽然SpringAOP非常强大);而是要提供AOP实现与SpringIoC的紧密集成,以便帮助解决企业应用中的常见问题。”

  SpringFramework参考文档

  为了实现这个目标,Spring框架目前支持一组AOP概念,从切入点到通知。本文将展示如何使用Spring框架中所实现的如下AOP概念:

  通知(Advice):如何将before通知、afterReturning通知和afterThrowing通知声明为bean。

  切入点(Pointcut):如何声明静态切入点逻辑以将XMLSpringBeanConfiguration文件中的所有内容联系在一起。

  Advisor:关联切入点定义与通知bean的方式。

  设置场景:一个简单的例子应用程序

  “一般而言,Spring并不是预描述的。虽然使用好的实践非常容易,但是它避免强制推行一种特定的方法。”
SpringFramework参考文档

  要试用Spring框架的AOP功能,首先我们要创建一个简单的Java应用程序。IbusinessLogic接口和BusinessLogic类为Spring框架中的bean提供了简易构件块。虽然该接口对于我们的简单应用程序逻辑来说不是必需的,但是它是Spring框架所推荐的良好实践。

publicinterfaceIBusinessLogic
{
 publicvoidfoo();
}

publicclassBusinessLogic
implementsIBusinessLogic
{
 publicvoidfoo()
 {
  System.out.println("InsideBusinessLogic.foo()");
 }
}
  可以编写MainApplication类,借此练习BusinessLogicbean的公有方法。

importorg.springframework.context.ApplicationContext;
importorg.springframework.context.support.FileSystemXmlApplicationContext;

publicclassMainApplication
{
 publicstaticvoidmain(String[]args)
 {
  //Readtheconfigurationfile
  ApplicationContextctx=newFileSystemXmlApplicationContext("springconfig.xml");

  //Instantiateanobject
  IBusinessLogictestObject=(IBusinessLogic)ctx.getBean("businesslogicbean");

  //Executethepublic
  //methodofthebean
  testObject.foo();
 }
}
  在BusinessLogic类及其关联接口中没有什么需要注意的。但是,MainApplication类初始化BusinessLogic对象的方式很有意思。通过使用ctx.getBean("businesslogicbean")调用,MainApplication将加载和管理BusinessLogic类的bean实例的任务转交给了Spring框架。

  允许Spring控制BusinessLogicbean的初始化,这使得Spring运行时有机会在bean被返回给应用程序之前执行J2EE系统所需的所有与bean相关的管理任务。然后Spring运行时配置可以决定对bean应用哪些任务和模块。该配置信息由一个XML文件提供,类似于下面所示的:

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEbeansPUBLIC

  • 上一篇文章:

  • 下一篇文章:
  •  

    0791-87557233

    重视每个来电 珍惜您的时间
    思诚者开发沙龙
    江西思诚科技有限公司  赣ICP备17006097号  CopyRight©2014 - 2020