`
lz726
  • 浏览: 335949 次
  • 性别: Icon_minigender_2
  • 来自: 福建,福州
社区版块
存档分类
最新评论

Spring中的AOP的简单应用

阅读更多

    今天玩这个挺Happy的~~~没有系统地学习,只是用到的时候临时抱抱佛脚,真的是汗颜啊~~

    这篇应该是最不错的:

   http://51mynet.blogcn.com/diary,5094753.shtml

   它是用来做权限的。作为例子初学不错!嘎嘎~

 

    因为现在系统中,要跟踪一些用户的操作信息,所以用到了代理~目前的实现思路是:

    1。写一个接口 IActionProxy,  让每个Action 都实现它。

   2。Spring四种通知(Advice)形式中,用到的是Interception Around通知,因为:前后拦截是唯一可以控制目标方法是否被真正调用的拦截类型,也可以控制返回对象。而前置拦截或后置拦截不能控制,它们不能印象目标方法的调用和返回。所以选择这种方式。并写了个拦截器,把要实现的操作都放在这里做。

 3。ApplicationContext.xml的定义

  1. <bean id="actionInterceptor"  class="com.ll.aop.ActionInterceptor">bean>  
  2. <bean id="onlineAction"   class="com.ll.aop.OnlineAction">bean>  
  3. <bean id="doAction"  class="org.springframework.aop.framework.ProxyFactoryBean">  
  4. <property name="proxyInterfaces">  
  5.      <value>com.ll.aop.IActionProxyvalue>  
  6.  property>  
  7.  <property name="interceptorNames">  
  8.     <list>  
  9.      <value>actionInterceptorvalue>  
  10.    <list>  
  11.  property>  
  12.  <property  name="target">  
  13.      <ref onlineAction/> 
  14.  <property>  
  15.   
  16. <bean>  

  在配置文件里头配置下就OK了。

  再就是用到了单态模式,去获得下面代码中的代理的bean,在整个系统初始化的时候,就给他分配好了~

一般测试调用的java 代码
  1. ApplicationContext context = new FileSystemXmlApplicationContext("applicationContext.xml");     
  2. IActionProxy   iap = (IActionProxy)context.getBean("doAction");  

      在项目架构当中,就没必要这么写了.用的是如下的:

    java 代码

  1. WebApplicationContext   wac = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
  2. IActionProxy iap=(IActionProxy )wac.getBean("doAction") ;  

 

好象这样的思路不对哦,所以只好做费了.......因为target里头的ref只能配置一个,不能用list....所以不能用了.而且,项目比较大,不太好用.

 估计是自己对AOP这种机制还不是很熟络的了解.有时间该系统地看看书了....嘎嘎~~~~

 

这种方式,只能实现单一类的代理,也就是说可以为一个类分配多个拦截器,但是不能把一个拦截器给多个类~~~~

分享到:
评论

相关推荐

    spring的aop简单例子

    在实际应用中,AOP通常用于日志记录、性能监控、事务管理等场景。Spring的AOP还提供了其他高级功能,如引入(introduction)、织入(weaving)等,允许我们更加灵活地管理和控制切面的生命周期。 综上所述,Spring...

    spring2.5.6 aop简单示例

    通过运行这个示例,你可以亲身体验Spring AOP的工作原理,并了解如何在实际项目中应用。 总的来说,Spring 2.5.6版本的AOP特性使得我们能够更方便地处理系统中的非业务逻辑,提高代码的可读性和可维护性。通过理解...

    简单spring aop 例子

    本示例将简要介绍如何在Spring应用中实现AOP,通过实际的代码示例帮助理解其工作原理。 首先,我们要理解AOP的核心概念。AOP是一种编程范式,它允许开发者定义“切面”(Aspects),这些切面封装了特定的关注点,如...

    spring aop简单例子

    在本文中,我们将深入探讨Spring AOP的基本概念、工作原理以及如何通过一个简单的例子来实现它。 AOP的核心概念包括切面(Aspect)、连接点(Join Point)、通知(Advice)、引入(Introduction)、目标对象...

    spring aop简单应用示例

    本示例将深入探讨Spring AOP的基础知识,以及如何在实际应用中使用它。 首先,我们来看"LogProfilter.java",这很可能是实现一个日志拦截器的类。在Spring AOP中,这样的类通常被称为切面(Aspect)。切面是封装了...

    Spring3.1AOP简单例子

    AOP是Spring框架的强大特性,它允许我们在应用程序中实现关注点的分离,使得我们可以将横切关注点(如日志、事务管理、性能监控等)与业务逻辑分离,提高代码的可读性和可维护性。 首先,了解AOP的基本概念是至关...

    spring-boot aop

    本示例是关于如何在Spring Boot项目中实现AOP功能的一个简单演示。 首先,我们需要了解AOP的基本概念。AOP的核心是切面(Aspect),它封装了跨越多个对象的行为或关注点,如日志记录。切点(Pointcut)定义了在何处...

    spring 应用aop 实例

    通过上述步骤,你可以创建一个简单的Spring AOP应用,实现对特定方法的调用进行日志记录。当然,AOP的潜力远不止于此,你可以根据实际场景扩展通知类型,或者创建更复杂的切入点表达式,以实现更细粒度的控制。 在...

    Spring Aop的简单实现

    在SLT-Spring-AOP这个项目中,你可以找到具体的实现示例,包括如何定义切面、通知和切入点表达式,以及如何在业务代码中应用这些概念。通过对该项目的深入学习,你将能够更好地理解和掌握Spring AOP的实战应用。

    Spring AOP简单模拟

    在Java开发中,Spring框架因其强大的功能和灵活性而被广泛应用,其中Spring AOP(面向切面编程)是它的重要特性之一。AOP允许程序员将关注点从核心业务逻辑中分离出来,比如日志记录、事务管理等,这些被称为“切面...

    Spring及AOP应用(事务与集成)培训

    事务管理是企业级应用中不可或缺的一部分。Spring提供了一种统一的事务管理接口,支持编程式和声明式事务管理。编程式事务管理允许开发者在代码中显式地开始、提交、回滚事务;而声明式事务管理则更简单,通过在方法...

    spring-aop.jar

    在实际应用中,我们可以利用Spring AOP进行日志记录、事务管理、权限控制等。例如,通过定义一个切面类,包含前置通知记录方法调用日志,后置通知处理事务提交或回滚,以及异常通知进行异常处理。 四、实战案例 ...

    spring之AOP(动态代理)

    在Spring Boot项目中,配置和使用AOP相对简单。首先,我们需要引入Spring AOP和AspectJ的依赖,这通常在pom.xml或build.gradle文件中完成。然后,我们可以定义一个切面(Aspect),它包含通知(Advice)——即在特定...

    spring AOP注解的应用1

    在Spring框架中,AOP(面向切面编程)是一...Spring AOP注解的应用使得切面编程更加简单直观,大大简化了对横切关注点的管理。在实际开发中,结合Spring提供的其他特性,如事务管理,可以构建出高效、健壮的后端系统。

    Spring.net Aop 例子

    在本示例中,我们将深入探讨Spring.NET AOP如何实现动态代理,以及如何利用它来增强应用程序的可维护性和可扩展性。 动态代理是AOP的核心概念,它能够在运行时动态创建代理对象,这个代理对象会拦截目标对象的方法...

    Spring AOP简单demo

    在Spring AOP中,通过表达式或注解来定义切入点。 3. **通知(Advice)**:通知是在特定切入点上执行的行为,比如记录日志、开始/结束事务等。有五种不同类型的通知:前置通知(Before)、后置通知(After)、返回...

    Spring注解Aop简单使用

    通过以上步骤,我们就成功地在Spring应用中使用注解AOP实现了日志记录功能。实际上,Spring AOP还支持更多复杂的场景,如自定义通知、基于注解的切入点、引入(Introduction)等。在实际开发中,根据需求可以灵活地...

    Spring基础:Spring AOP简单使用

    创建一个简单的Spring AOP应用,首先定义一个切面类,包含切点和通知,然后在Spring配置文件中启用AOP并注册切面,最后编写测试类验证AOP功能是否正常工作。 8. **最佳实践** - 适度使用AOP,过多的切面可能导致...

    Spring之AOP介绍

    - **使用ProxyFactoryBean创建AOP代理**:`ProxyFactoryBean`是Spring中的一个类,用于创建AOP代理。当定义了一个名为`myfactory`的`ProxyFactoryBean`时,引用`myfactory`的对象实际上获取的是`ProxyFactoryBean....

    spring 3.0 aop 实例

    在IT领域,Spring框架是Java开发中的一个核心组件,尤其在企业级应用中广泛应用。Spring 3.0版本是其发展的一个重要里程碑,引入了许多新特性和改进,尤其是在面向切面编程(Aspect-Oriented Programming,简称AOP)...

Global site tag (gtag.js) - Google Analytics