`

Spring AOP使用步骤

 
阅读更多

在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-----------------------
添加了一个用户

 

分享到:
评论

相关推荐

    SpringAOP简单项目实现

    自己总结的学Spring AOP的步骤,以及代码示例。可供刚学AOP的同学们参考。

    Spring AOP中使用args表达式的方法示例

    主要介绍了Spring AOP中使用args表达式的方法,结合实例形式分析了spring面向切面AOP中使用args表达式具体步骤、相关实现技巧与操作注意事项,需要的朋友可以参考下

    使用动态代理演示Spring的AOP编程原理

    为了说明Spring的AOP原理,本人使用代理模式中的动态代理完成演示AOP编程的原理的演示。相信,如果你耐心看完整个程序(几乎一行注释一行代码),那么你对Spring这个东西就不是觉得有什么神秘了! 阅读对象:凡是喜爱...

    SpringAOP+AspectJ

    以公司订单管理的模型为例(大部分步骤和业务了逻辑已经删除,只保存AOP注解这一部分)Spring AOP

    JAVA 中Spring aop 实现日志记载

    该压缩包中包含了一个myeclipse6.5下开发的JAVA基于spring实现的日志记载例子,该例子提供了接受切点参数,解析切点返回值,并且都打印出来了,有详细的文档介绍。

    Spring AOP如何整合redis(注解方式)实现缓存统一管理详解

    主要给大家介绍了关于Spring AOP如何整合redis(注解方式)实现缓存统一管理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧

    spring AOP定义AfterThrowing增加处理实例分析

    主要介绍了spring AOP定义AfterThrowing增加处理,结合实例形式分析了spring面向切面AOP定义AfterThrowing相关实现步骤与操作技巧,需要的朋友可以参考下

    spring的aop方式,审计记录用户操作步骤服务,mysql数据库

    spring的aop方式,审计记录用户操作步骤服务,mysql数据库

    Spring AOP中定义切点的实现方法示例

    主要介绍了Spring AOP中定义切点的实现方法,结合实例形式分析了spring面向切面AOP定义切点的具体步骤、实现方法与相关操作技巧,需要的朋友可以参考下

    Spring AOP 测试

    掌握AOP的测试源码,仅为学习使用,我在学习时也困惑了很长时间,主要是看不到AOP的结果。经过分析,主要是不会用org.junit.Test 注意运行步骤为: 1.选中工程 2.右键选择Run As Junit Test 3.正常运行就可看到结果...

    spring AOP的Around增强实现方法分析

    主要介绍了spring AOP的Around增强实现方法,结合实例形式分析了spring面向切面AOP的Around增强具体步骤与相关操作方法,需要的朋友可以参考下

    spring AOP的After增强实现方法实例分析

    主要介绍了spring AOP的After增强实现方法,结合实例形式分析了spring面向切面AOP的After增强实现步骤与相关操作技巧,需要的朋友可以参考下

    Spring中基于xml的AOP的详细步骤

    主要介绍了Spring中基于xml的AOP的详细步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    Spring AOP访问目标方法的参数操作示例

    主要介绍了Spring AOP访问目标方法的参数操作,结合实例形式详细分析了spring面向切面AOP访问目标方法的参数相关实现步骤与操作注意事项,需要的朋友可以参考下

    spring代码课堂笔记

    Spring AOP:简化代理模式实现步骤 1.声明接口:注册需要被监听行为名称 2.接口实现类: 扮演被监控的类,负责被监听方法实现细节 3.次要业务/增强业务 Spring AOP 通知种类:设置次要业务与(被监听方法)绑定...

    模拟spring ioc过程

    这是个模拟spring ioc的学习例子,是个java工程。有助于对aop和ioc的理解

    SpringBoot如何使用AOP+Redis实现接口限流实现全过程(值得珍藏)

    Spring Boot 使用 AOP 和 Redis 实现接口限流是一种高效且实用的方法,用于控制对特定接口的访问频率。以下是实现这个功能的基本步骤: 引入依赖:首先,在 Spring Boot 项目中引入 Redis 和 AOP 的相关依赖。这...

    Spring框架基于AOP实现简单日志管理步骤解析

    主要介绍了Spring框架基于AOP实现简单日志管理步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    基于SSH(Struts2、Spring与Hibernate)框架的学生成绩管理系统.rar

    基于SSH(Struts2、Spring与Hibernate)框架的学生成绩管理系统 (1) 整合Struts2、Spring和...+ 掌握Spring的开发步骤,理解依赖注入、AOP、事务管理等 + 掌握Struts2、Spring和Hibernate框架的整合 + 掌握分页技术

    tiny-spring-practice:实践tiny-spring,手写Spring两大核心功能:IOC和AOP

    然后发现了多年前的一个精简版的Spring学习项目,叫,作者对spring核心的IOC和AOP进行了临摹实现,也很细心的对实现步骤进行了拆分。我看完了tiny-spring收获许多,自己也参考该项目进行了模仿与实践,从我学习的...

Global site tag (gtag.js) - Google Analytics