在Spring中使用AOP编程步骤:
以下使用的Spring为2.5.6版本
1、在Spring配置文件(applicationContext.xml)中配置Spring对AspectJ的支持;以下两种方式任意一种即可
<!-- <aop:aspectj-autoproxy/> -->
<bean class="org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator"/>
2、引入Jar文件(在Spring的根目录下的lib/aspectj下)
aspectjrt.jar 和 aspectjweaver.jar
3、定义连接点(若不使用接口编程,即SimplePersonManager不实现任何接口,此时要实现AOP代理,需要引入CGLIB 包cglib-nodep-2.1_3.jar,但是一旦实现了接口Spring就会使用JDK的动态代理实现)
public interface PersonManager {
public void addPerson(Person person);
}
public class SimplePersonManager implements PersonManager{
public void addPerson(Person person) {
Person.persons.add(person);
System.out.println("添加了一个用户");
}
}
4、定义一个切面类,该切面类中定义了一个切入点,连接点为SimplePersonManager类中的addPerson方法
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class SimpleAspect {
@Before ("execution (* rote.spring.aop.service.impl.SimplePersonManager.addPerson(..))")
public void addPersonAop(){
System.out.println("-------------------addPerson-----------------------");
};
}
5、在Spring配置文件中声明切面类
<!-- 切面声明 -->
<bean id="simpleAspectj" class="rote.spring.aop.aspectj.SimpleAspect">
</bean>
6、在Spring配置文件中配置连接点类
<bean id="personManager" class="rote.spring.aop.service.impl.SimplePersonManager">
</bean>
7、启动测试
ApplicationContext context = new ClassPathXmlApplicationContext("rote/spring/aop/applicationContext-aop.xml");
PersonManager personManager = (PersonManager)context.getBean("personManager");
personManager.addPerson(new Person());
上述代码运行后,将输出如下结果,在调用addPerson方法之前执行了addPersonAop方法:
-------------------addPerson-----------------------
添加了一个用户
分享到:
相关推荐
自己总结的学Spring AOP的步骤,以及代码示例。可供刚学AOP的同学们参考。
主要介绍了Spring AOP中使用args表达式的方法,结合实例形式分析了spring面向切面AOP中使用args表达式具体步骤、相关实现技巧与操作注意事项,需要的朋友可以参考下
为了说明Spring的AOP原理,本人使用代理模式中的动态代理完成演示AOP编程的原理的演示。相信,如果你耐心看完整个程序(几乎一行注释一行代码),那么你对Spring这个东西就不是觉得有什么神秘了! 阅读对象:凡是喜爱...
以公司订单管理的模型为例(大部分步骤和业务了逻辑已经删除,只保存AOP注解这一部分)Spring AOP
该压缩包中包含了一个myeclipse6.5下开发的JAVA基于spring实现的日志记载例子,该例子提供了接受切点参数,解析切点返回值,并且都打印出来了,有详细的文档介绍。
主要给大家介绍了关于Spring AOP如何整合redis(注解方式)实现缓存统一管理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
主要介绍了spring AOP定义AfterThrowing增加处理,结合实例形式分析了spring面向切面AOP定义AfterThrowing相关实现步骤与操作技巧,需要的朋友可以参考下
spring的aop方式,审计记录用户操作步骤服务,mysql数据库
主要介绍了Spring AOP中定义切点的实现方法,结合实例形式分析了spring面向切面AOP定义切点的具体步骤、实现方法与相关操作技巧,需要的朋友可以参考下
掌握AOP的测试源码,仅为学习使用,我在学习时也困惑了很长时间,主要是看不到AOP的结果。经过分析,主要是不会用org.junit.Test 注意运行步骤为: 1.选中工程 2.右键选择Run As Junit Test 3.正常运行就可看到结果...
主要介绍了spring AOP的Around增强实现方法,结合实例形式分析了spring面向切面AOP的Around增强具体步骤与相关操作方法,需要的朋友可以参考下
主要介绍了spring AOP的After增强实现方法,结合实例形式分析了spring面向切面AOP的After增强实现步骤与相关操作技巧,需要的朋友可以参考下
主要介绍了Spring中基于xml的AOP的详细步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了Spring AOP访问目标方法的参数操作,结合实例形式详细分析了spring面向切面AOP访问目标方法的参数相关实现步骤与操作注意事项,需要的朋友可以参考下
Spring AOP:简化代理模式实现步骤 1.声明接口:注册需要被监听行为名称 2.接口实现类: 扮演被监控的类,负责被监听方法实现细节 3.次要业务/增强业务 Spring AOP 通知种类:设置次要业务与(被监听方法)绑定...
这是个模拟spring ioc的学习例子,是个java工程。有助于对aop和ioc的理解
Spring Boot 使用 AOP 和 Redis 实现接口限流是一种高效且实用的方法,用于控制对特定接口的访问频率。以下是实现这个功能的基本步骤: 引入依赖:首先,在 Spring Boot 项目中引入 Redis 和 AOP 的相关依赖。这...
主要介绍了Spring框架基于AOP实现简单日志管理步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
基于SSH(Struts2、Spring与Hibernate)框架的学生成绩管理系统 (1) 整合Struts2、Spring和...+ 掌握Spring的开发步骤,理解依赖注入、AOP、事务管理等 + 掌握Struts2、Spring和Hibernate框架的整合 + 掌握分页技术
然后发现了多年前的一个精简版的Spring学习项目,叫,作者对spring核心的IOC和AOP进行了临摹实现,也很细心的对实现步骤进行了拆分。我看完了tiny-spring收获许多,自己也参考该项目进行了模仿与实践,从我学习的...