spring aop代码示例
时间: 2023-10-28 11:02:02 浏览: 42
下面是一个Spring AOP的代码示例:
```java
package com.rf.aop;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class LogAspects {
@Before("execution(public int com.rf.aop.MathCalculator.add(int, int))")
public void beforeMethod() {
System.out.println("执行方法前进行日志记录");
}
}
```
```java
package com.rf.aop;
public class MathCalculator {
public int add(int a, int b) {
return a + b;
}
public int divide(int a, int b) {
return a / b;
}
}
```
```java
package com.rf.aop;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class MainApplication {
public static void main(String[] args) {
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigAop.class);
MathCalculator mathCalculator = applicationContext.getBean(MathCalculator.class);
int result = mathCalculator.add(3, 5);
System.out.println("计算结果: " + result);
applicationContext.close();
}
}
```
这个示例展示了如何使用Spring AOP来实现日志记录。在LogAspects切面类中,我们使用@Before注解来标注在目标方法执行之前进行日志记录。然后,我们将切面类和业务逻辑类MathCalculator都加入到容器中。最后,在配置类MainConfigAop上加上@EnableAspectJAutoProxy注解来开启基于注解的AOP模式。这样,在执行MathCalculator的add方法时,会自动触发LogAspects中的beforeMethod方法进行日志记录。
希望这个示例对你有帮助。