1.做了一个简单的spring aop例子 用 aspectjrt.jar, aspectjweaver.jar 两包 通过配置文件实现, 核心配置如下
<bean id="login" class="com.Login" />
<bean id="printLog" class="com.PrintLog" />
<aop:config>
<aop:aspect id="myAop" ref="printLog">
<aop:pointcut id="taget" expression="execution(* com.Login.login(..))" />
<aop:before method="beforeLog" pointcut-ref="taget" />
<aop:after method="afterLog" pointcut-ref="taget" />
<!--<aop:around method="around" pointcut-ref="taget" /> -->
</aop:aspect>
</aop:config>
在配置execution 表达式的时候要注意* com.Login.login(..) *号后面要空格后在接com 被代理的对象Login类如果没有实现任何接口要引入cglib.jar包。要注意的是引入的cglib.jar包是否与spring2.5.jar包中的类是否有冲突。
附件是完整代码。
2.spring aop 拦截器通过xml文件配置 不引用其它jar包 只通过spring2.5.jar实现。核心配置如下:
<bean id="printLogService" class="com.log.PrintLogService">
<property name="login" ref="interceptor"></property>
</bean>
<bean id="login" class="com.Login" />
<bean id="logInterceptor" class="com.LogInterceptor"></bean>
<!-- 代理类, interceptor就是ILogin 接口的代理了 -->
<bean id="interceptor" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>com.ILogin</value>
</property>
<property name="target">
<ref bean="login" />
</property>
<property name="interceptorNames">
<list>
<value>logAdvice</value>
</list>
</property>
</bean>
<bean id="logAdvice"
class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">
<ref bean="logInterceptor" />
</property>
<!-- 此处的表达式是正则表达式 -->
<property name="pattern">
<value>.*verify.*</value>
</property>
</bean>
被代理的接口ILogin成功代理后,其它类中如果要注入这个类,就要注入他的代理类,interceptor如:
<bean id="printLogService" class="com.log.PrintLogService">
<property name="login" ref="interceptor"></property>
</bean>
附件2是例子全部代码。
分享到:
相关推荐
本学习笔记将深入探讨Spring AOP的核心概念、工作原理以及实际应用。 1. **核心概念** - **切面(Aspect)**:切面是关注点的模块化,包含业务逻辑之外的横切关注点,如日志、事务管理。 - **连接点(Join Point...
### Spring AOP 学习资料知识点总结 #### 一、Spring AOP 概念与背景 **Spring AOP**(面向切面编程)是Spring框架中的一个重要组成部分,它通过预定义的切入点来分离关注点,使得核心业务逻辑更加清晰,同时能够...
**Spring AOP 学习笔记及实现Demo** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架中的一个重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强的技术。AOP的主要目的...
**Spring AOP学习实例** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架中的一个重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强的技术。AOP允许开发者定义“切面”...
Spring Aop 学习笔记
### Spring AOP 学习知识点详解 #### 一、Spring AOP 原理 **Spring AOP**(面向切面编程)是 Spring 框架中的一个关键特性,它提供了一种优雅的方式来处理横切关注点(cross-cutting concerns)。在实际应用中,...
NULL 博文链接:https://linres.iteye.com/blog/281221
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点问题,如日志、事务管理、安全性等。本示例将简要介绍如何在Spring应用中实现AOP,通过实际的...
Spring AOP(面向切面编程)是Spring框架的核心特性之一,它允许开发者在不修改源代码的情况下,通过...这个例子提供了学习Spring AOP实际操作的宝贵资源,通过阅读源码和运行测试,你将对Spring AOP有更全面的认识。
本资源"spring_aop1.rar"包含了一个经典的Spring AOP学习案例,是初学者了解和掌握这一特性的好起点。 在Spring AOP中,主要涉及以下几个核心概念: 1. **切面(Aspect)**:切面是关注点的模块化,它封装了横切...
这种轻量级的特性使得Spring AOP更易于学习和集成。 3. **灵活的通知模型**:Spring AOP提供了多种类型的通知,包括around、before、after returning、after throwing等,使得开发者可以根据实际需求选择最适合的...
在Spring AOP的学习中,动态代理是一个至关重要的概念。本文将深入探讨动态代理在Spring框架中的应用,以及如何通过JDK的动态代理机制实现这一功能。动态代理是面向切面编程(AOP)的一种实现方式,它允许我们在不...
Spring AOP,即面向切面编程,是Spring框架的核心组件之一,它允许程序员在不修改原有业务代码的情况下,对程序进行功能增强。...通过学习和实践,你可以更好地在Spring框架中利用AOP解决实际问题。
3、对spring aop认识模糊的,不清楚如何实现Java 自定义注解的 4、想看spring aop 注解实现记录系统日志并入库等 二、能学到什么 1、收获可用源码 2、能够清楚的知道如何用spring aop实现自定义注解以及注解的逻辑...
在`springAop1`这个压缩包中,可能包含了一个简单的应用示例,展示了如何定义一个切面类,以及如何在该类中定义通知方法。例如,我们可能会看到一个名为`LoggingAspect`的类,其中包含了`@Before`注解的方法,用于在...
Spring框架的关键组件之一是面向方面编程(AOP)框架。 面向方面的编程需要将程序逻辑分解成不同的部分。 此教程将通过简单实用的方法来学习Spring框架提供的AOP/面向方面编程。
在讨论Spring AOP(面向切面编程)时,首先需要理解几个核心概念。Spring AOP 是Spring框架提供的一个功能模块,它允许开发者将横切关注点(cross-cutting concerns)从业务逻辑中解耦出来,通过在方法调用前后进行...
通过学习和实践Spring AOP,开发者可以更高效地组织代码,将关注点分离,提升代码的可读性和可维护性。在Spring AOPD1这个压缩包中,可能包含了创建和运行上述示例的步骤和代码,是学习AOP的好材料。