1.首先确定spring需要的jar包:spring-aop.jar , aspectjrt.jar ,aspectjweaver.jar
2.编写普通类
package org.ssh.service.impl;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.ssh.service.interfaces.Axe1;
import org.ssh.service.interfaces.Person1;
@Component("chinese")
public class Chinese implements Person1{
private Axe1 axe;
public void useAxe() {
System.out.println(axe.chop());
}
public Axe1 getAxe() {
return axe;
}
@Resource
@Qualifier("StoneAxe")
public void setAxe(Axe1 axe) {
this.axe = axe;
}
}
3.编写切面类
package org.ssh.service.impl;
import org.aspectj.lang.JoinPoint;
import org.springframework.stereotype.Component;
@Component("aspectClass")
public class MyAspect {
public void beforeMethodAdvice(JoinPoint p ){
System.out.println("在方法之前执行。。。。");
}
}
2.配置applicationContext.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:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" <!--需要添加-->
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop <!--需要添加-->
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd <!--需要添加-->
">
<context:annotation-config></context:annotation-config><!-开启注解功能-->
<context:component-scan base-package="org.ssh.service.impl" /> <!--spring可以自动去扫描base-pack下面或者子包下面的java文件,扫描到符合注解格式的,则注册为bean-->
<aop:aspectj-autoproxy/> <!-开启aop功能-->
<!-AOP配置-->
<aop:config>
<aop:pointcut id="myPointcut" expression="execution(* org.ssh.service.impl.*.useAxe(..))"/><!-配置切入点-->
<aop:aspect id="myAspect" ref="aspectClass"> <!-配置切面类-->
<aop:before method="beforeMethodAdvice" pointcut-ref="myPointcut"/><!-定义在切入点使用的增强处理-->
</aop:aspect>
</aop:config>
</beans>
相关推荐
在实际开发中,Spring AOP广泛应用于事务管理。例如,我们可以定义一个切面来处理所有数据库操作的事务,这样无需在每个业务方法中显式调用开始和提交事务,只需在切面中配置事务规则即可。 `aop-jar`这个压缩包...
在实际应用中,Spring AOP通过以下方式使用: - **注解驱动**:使用`@Aspect`注解定义一个切面类,然后在方法上使用`@Before`, `@After`, `@Around`, `@AfterReturning`, `@AfterThrowing`等注解来声明通知。切入点...
通过研究这个项目源码,你可以了解如何在实际开发中应用Spring AOP,以及如何在Myeclipse中进行配置和调试。 总之,Spring AOP通过将关注点分离,提高了代码的可维护性和复用性。结合Myeclipse的强大功能,开发者...
标题 "springaop" 暗示我们关注的是Spring框架中的AOP(面向切面编程)模块。在Spring框架中,AOP是一种强大的工具,它允许程序员定义“切面”,这些切面可以封装横切关注点,如日志、事务管理、性能监控等,将它们...
Spring AOP,全称为Aspect Oriented Programming,是面向切面编程的一种编程范式,它是对传统的面向对象编程(OOP)的一种补充。在OOP中,核心是对象,而在AOP中,核心则是切面。切面是关注点的模块化,即程序中的...
本示例将简要介绍如何在Spring应用中实现AOP,通过实际的代码示例帮助理解其工作原理。 首先,我们要理解AOP的核心概念。AOP是一种编程范式,它允许开发者定义“切面”(Aspects),这些切面封装了特定的关注点,如...
此外,你还可以了解到如何根据项目需求选择适合的配置方式,以及如何在实际开发中灵活应用Spring AOP来提升代码的可维护性和模块化程度。这个实例对于理解和掌握Spring AOP的实战技巧非常有帮助。
在本篇博文中,我们将深入探讨Spring AOP(面向切面编程)的使用,特别是如何通过Advisor指定切入点。Spring AOP是Spring框架的核心...通过这些测试代码,我们可以更直观地理解和学习如何在实际应用中使用Spring AOP。
AOP的核心是切点(Pointcut),它定义了关注点在何处应用。在Spring中,我们通常使用表达式或者注解来定义切点。例如,我们可以使用`@Before`、`@After`、`@Around`、`@AfterReturning`和`@AfterThrowing`等注解来...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点问题,如日志、...通过对`aoptest`项目的探索,你可以深入理解如何在实际场景中应用Spring AOP。
现在,我们回到主题——"springaop依赖的jar包"。在Spring 2.5.6版本中,使用Spring AOP通常需要以下核心jar包: - `spring-aop.jar`:这是Spring AOP的核心库,包含了AOP相关的类和接口。 - `spring-beans.jar`:...
**Spring AOP 知识点详解** ...通过深入理解和熟练应用Spring AOP,开发者可以有效地提升代码的模块化程度,降低系统复杂度,提高开发效率。学习并掌握Spring AOP对于任何Java开发者来说都是至关重要的。
Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的一个...通过研究这些源码,你可以深入理解如何在实际项目中应用Spring AOP,实现模块化的关注点处理,并提高代码的可维护性和复用性。
总结起来,Spring AOP的注解配置方式提供了简洁、直观的手段来实现切面编程,使得我们可以快速地为应用程序添加横切关注点,而无需侵入业务代码。通过熟练掌握这些注解,开发者可以更高效地利用Spring AOP来优化代码...
Spring AOP 的应用非常广泛,以下是一些常见的应用场景: 1. 日志记录:使用 AOP 可以在应用程序中记录日志,从而帮助开发者跟踪应用程序的执行过程。 2. 安全检查:使用 AOP 可以在应用程序中实现安全检查,从而...
本篇将深入探讨如何通过XML配置来实现Spring AOP的应用。 一、Spring AOP基本概念 在Spring AOP中,切面(Aspect)是关注点的模块化,它包含了通知(Advice)和切点(Pointcut)。通知是在特定连接点(Join Point)...
Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的一个重要模块,它通过提供声明式的方式来实现面向切面编程,从而简化了应用程序的开发和维护。在Spring AOP中,我们无需深入到每个...
**Spring AOP 实现机制详解** Spring AOP(面向切面编程)是Spring框架的核心特性之一,它允许程序员在不修改源代码的...通过深入理解Spring AOP的实现机制,我们可以更好地利用这一强大的工具,优化我们的应用程序。
Spring AOP 是一种面向切面编程的技术,它允许我们在不修改源代码的情况下,对应用程序的特定部分(如方法调用)进行增强。在 Spring 中,AOP 的实现主要依赖于代理模式,有两种代理方式:JDK 动态代理和 CGLIB 动态...
### Spring AOP面向方面编程原理:AOP概念详解 #### 一、引言 随着软件系统的日益复杂,传统的面向对象编程(OOP)逐渐暴露出难以应对某些横切关注点(cross-cutting concerns)的问题。为了解决这一挑战,面向方面编程...