这是一个简单的spring aop的例子。
一:定义目标类
1>定义目标接口:IHelloWorldService
/**
* 定义目标接口
* */
public interface IHelloWorldService {
public void sayHello();
}
2>定义目标接口实现:HelloWorldService
/**
* 定义目标接口实现类
* */
public class HelloWorldService implements IHelloWorldService {
@Override
public void sayHello() {
System.out.println("============Hello World!");
}
}
二:定义切面支持类
/**
* 定义切面支持类
* */
public class HelloWorldAspect {
public void beforeAdvice(){
System.out.println("===========before Advice");
}
public void afterFinalAdvice(){
System.out.println("===========after finally advice");
}
}
三:在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-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!-- 配置目标类 -->
<bean id="helloWorldService" class="cn.javass.spring.chapter6.service.impl.HelloWorldService" />
<!-- 配置切面类 -->
<bean id="aspect" class="cn.javass.spring.chapter6.aop.HelloWorldAspect" />
<aop:config>
<aop:pointcut expression="execution(* cn.javass..*.*(..))" id="pointcut"/>
<aop:aspect ref="aspect">
<aop:before method="beforeAdvice" pointcut-ref="pointcut"/>
<aop:after method="afterFinalAdvice" pointcut="execution(* cn.javass..*.*(..))"/>
</aop:aspect>
</aop:config>
</beans>
aop:pointcut表示切入点
aop:aspect表示切面
aop:before表示在point表达式中定义的方法之前执行after类似。可以直接引用声明的切入点,如before中。或者直接定义切入点,如after中
分享到:
相关推荐
spring aop jar 包
spring aop spring aop spring aop spring aop spring aop spring aop spring aop spring aop spring aop
spring-aop-1.1.1.jar spring-aop-1.2.6.jar spring-aop-1.2.9.jar spring-aop-2.0.2.jar spring-aop-2.0.6.jar spring-aop-2.0.7.jar spring-aop-2.0.8.jar spring-aop-2.0.jar spring-aop-2.5.1.jar spring-aop-...
描述一下Spring AOP? 在Spring AOP中关注点(concern)和横切关注点(cross-cutting concern)有什么不同? AOP有哪些可用的实现? Spring中有哪些不同的通知类型(advice types)? Spring AOP 代理是什么? 引介...
3、对spring aop认识模糊的,不清楚如何实现Java 自定义注解的 4、想看spring aop 注解实现记录系统日志并入库等 二、能学到什么 1、收获可用源码 2、能够清楚的知道如何用spring aop实现自定义注解以及注解的逻辑...
基于注解实现SpringAop基于注解实现SpringAop基于注解实现SpringAop
Spring框架的关键组件之一是面向方面编程(AOP)框架。 面向方面的编程需要将程序逻辑分解成不同的部分。 此教程将通过简单实用的方法来学习Spring框架提供的AOP/面向方面编程。
springaop依赖的jar包,spring版本2.5.6,如果需要,可以下载使用,欢迎各位评论指出不足
spring aop的demo spring aop的demo
死磕Spring之AOP篇 - Spring AOP两种代理对象的拦截处理(csdn)————程序
Spring AOP 几个不同使用方法的完整例子,使用Junit4c测试, 在我的博客上有不同配置组合的说明,可以参考
Spring aop Spring aop
开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE...
spring aop切面拦截指定类和方法实现流程日志跟踪 一般情况下,在不侵入业务代码的情况下,需要做流程日志跟踪是比较合理的 采用springaop切面思想
AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析...
springAOP详解
springAOP所需jar包 springAOP所需jar包 springAOP所需jar包 springAOP所需jar包 springAOP所需jar包
AOP的意思就是面向切面编程。本文主要是通过梳理JDK中自带的反射机制,实现 AOP动态代理模式,这也是Spring AOP 的实现原理
spring aop
Spring AOP简单demo 入门级的 advice