`
baobeituping
  • 浏览: 1062406 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

spring 2.0使用AOP实例(基于Annotation的配置方式)

 
阅读更多

使用Java5注解配置及使用Spring AOP
Spring2中的 AOP提供了使用AspectJ中定义的Java注解在Bean中配置切入点及通知的方法。这里演示演示这种使用方法,我们写一个包含使用了Java注解来标识切面相关信息的Bean,方法名称及内容跟上面AspectBean的完全一样,AspectAnnotationBean.java中的内容如下所示:
package springroad.demo.chap5.exampleB;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.After;
@Aspect
public class AspectAnnotationBean {
@Pointcut("execution(* springroad.demo.chap5.exampleB.Component.business*(..))")
public void somePointcut()
{
}
@Before("somePointcut()")
public void validateUser()
{
System.out.println("执行用户验证!");
}
@After("somePointcut()")
public void writeLogInfo()
{
System.out.println("书写日志信息");
}
@Before("somePointcut()")
public void beginTransaction()
{ 31
System.out.println("开始事务");
}
@After("somePointcut()")
public void endTransaction()
{
System.out.println("结束事务");
}
}
其中黑体部分的内容是相对于前面示例中AspectBean增加的。现在我们来修改Spring的配置文件,修改后aspect-spring.xml的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<aop:aspectj-autoproxy />
<bean id="aspectBean"
class="springroad.demo.chap5.exampleB.AspectAnnotationBean">
</bean>
<bean id="component"
class="springroad.demo.chap5.exampleB.ComponentImpl">
</bean>
</beans>
对比上一个配置文件,我们看到这个文件比前面一个简单多了,关于aop的配置只有一行,即<aop:aspectj-autoproxy/>。这时运行客户端示例代码,我们会发现,其输出的内容跟前面示例的内容完全一样(当然,这个例子要求你必须是在Jdk1.5及以上才能运行,因为java注解是Jdk1.5才引入的功能!)。

分享到:
评论

相关推荐

    spring aop实例annotation方法实现

    本实例将详细探讨如何通过注解(Annotation)来实现Spring AOP的方法拦截。 一、Spring AOP基础 Spring AOP是Spring框架的一部分,它提供了一种在运行时织入横切关注点(如日志、事务管理等)到目标对象的能力。AOP...

    spring aop xml 实例

    本实例主要探讨的是使用XML配置的方式来实现AOP。XML配置虽然相比注解方式略显繁琐,但它提供了更大的灵活性,尤其是在需要对多个类或方法应用相同通知(Advice)时。 首先,我们需要在Spring的配置文件中启用AOP...

    spring1.x使用AOP实例

    Spring 1.x版本虽然已经较为古老,但理解其AOP(面向切面编程)的使用对于学习Spring框架的整体架构和设计理念至关重要。AOP是Spring解决横切关注点问题的重要手段,如日志记录、事务管理等。 首先,让我们来了解...

    Spring ax/aop声明式事务配置实例

    本实例将深入探讨如何在Spring中使用AOP来实现声明式事务配置。 一、Spring AOP基础 AOP允许我们在程序运行时动态地将代码插入到其他对象中,它主要用来处理那些具有横切关注点的问题,如日志、异常处理和事务管理...

    spring AOP实例代码(带详细的讲解)

    Spring AOP通过两种主要实现方式提供切面功能:代理模式(Proxy)和基于注解的切面(Annotation-based AOP)。代理模式下,Spring创建一个目标对象的代理,当调用目标方法时,代理会在前后添加额外的行为。而注解...

    spring 3.0 aop 实例

    通过以上知识,我们可以创建一个简单的Spring AOP实例,例如创建一个日志切面,记录每个服务方法的执行时间: ```java @Aspect @Component public class LoggingAspect { @Before("execution(* ...

    基于xml的SpringAOP实例

    在基于XML的配置方式下,Spring AOP提供了直观且灵活的声明式方法来实现这些关注点的分离,使得业务逻辑代码更为简洁。 在Spring AOP中,我们首先需要定义一个切面(Aspect),它包含了若干个通知(Advice)。通知...

    简单spring aop 例子

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点问题,如日志、事务管理、安全性等。本示例将简要介绍如何在Spring应用中实现AOP,通过实际的...

    Spring-AOP实例

    通过Spring AOP实例,我们可以实现上述功能,提高代码的可复用性和可维护性,降低模块间的耦合度。在实际项目中,Spring AOP是不可或缺的工具,帮助开发者专注于业务逻辑,而不是重复的基础服务实现。

    spring aop权限小实例

    在IT行业中,Spring框架是Java企业级应用开发的首选,而...在上述实例中,我们学习了如何定义切面、创建通知以及配置切入点,这些都是Spring AOP的基础。通过深入理解和实践,我们可以构建出更加健壮和易于维护的系统。

    Spring编程(AOP篇实例)

    Spring支持两种AOP实现:基于代理的AOP(Proxy-based AOP)和基于注解的AOP(Annotation-based AOP)。 1. 基于代理的AOP:Spring可以创建JDK动态代理或CGLIB代理。对于实现了接口的类,Spring将使用JDK动态代理;...

    spring aop 附带测试实例

    在提供的压缩包文件"springAOP"中,可能包含了以下内容: - **切面类(Aspect Class)**:包含切点和通知的Java类,可能使用了`@Aspect`注解。 - **目标类(Target Class)**:被AOP代理的对象,通常包含业务逻辑。...

    struts2.0+hibernate3.0+spring2.0整合(2)

    同时,可以使用`&lt;tx:annotation-driven&gt;`启用基于注解的事务管理,使得Service层方法可以自动进行事务控制。 6. **Action类设计**:Action类通常是简单的业务逻辑载体,不包含持久化代码。Service层负责复杂的业务...

    Spring的AOP实例(XML+@AspectJ双版本解析+源码+类库)

    在Java世界中,Spring框架以其强大的功能和灵活性深受开发者喜爱,尤其在面向切面编程(AOP)方面,Spring提供了两种主要的实现方式:XML配置和@AspectJ注解。本篇文章将深入探讨这两个版本的AOP实现,并结合源码...

    spring aop 注解例子

    要启用注解驱动的 AOP,需要在 Spring 配置文件中添加 `&lt;aop:aspectj-autoproxy&gt;` 标签,或者在 Java 配置类中使用 `@EnableAspectJAutoProxy` 注解。 6. **运行环境** 由于这是一个简单的例子,因此运行环境的...

    SpringAOP结合ehCache实现简单缓存实例

    本文将深入探讨如何结合Spring AOP与EhCache实现一个简单的缓存实例,以便优化Java应用的运行效率。 首先,让我们了解Spring AOP。Spring AOP是Spring框架的一部分,它允许我们在不修改业务代码的情况下,通过定义...

    springboot的aop使用

    Spring Boot中的AOP使用是一个强大的编程范式,允许开发者将横切关注点(cross-cutting concerns)从业务逻辑中分离出来,以增强代码的可重用性和可维护性。横切关注点是指那些跨多个类或者方法的通用功能,如日志...

    Spring 使用AspectJ 实现 AOP之前置通知小例子

    标题提到的"Spring 使用AspectJ 实现 AOP之前置通知小例子",指的是利用AspectJ在Spring中实现AOP的一种特定类型的通知——前置通知(Before advice)。前置通知在目标方法执行之前运行,但不会阻止方法的执行。这种...

    基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发

    在基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发中,开发者可以利用注解(Annotation)来简化配置,提高开发效率。这个开发模式结合了三个主流的Java EE框架:Struts2作为MVC框架处理前端请求,...

Global site tag (gtag.js) - Google Analytics