當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringAOP编程-传统基于JDK代理的AOP开发
生活随笔
收集整理的這篇文章主要介紹了
SpringAOP编程-传统基于JDK代理的AOP开发
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、spring的傳統aop編程它支持的增強(advice)有五種:
1) 前置通知 目標方法執行前增強 org.springframework.aop.MethodBeforeAdvice 2) 后置通知
目標方法執行后增強 org.springframework.aop.AfterReturningAdvice
3) 環繞通知
4) 異常拋出通知
目標方法拋出異常后的增強 org.springframework.aop.ThrowsAdvice
5) 引介通知 在目標類中添加一些新的方法或屬性
2、 基本jar包
1) bean
2) core
3) context
4) expression
5) aop
6)需要aop聯盟的依賴jar包
3、編寫目標(target)
4、增強(advice)
5、在applicationContext.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:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- 目標target --><bean id="orderService" class="cn.nwtxxb.aop.OrderServiceImpl"></bean><!-- 通知advice --><bean id="orderServiceAdvice" class="cn.nwtxxb.aop.OrderHelper"></bean><!-- 定義切點 pointcut --><!-- <bean id="orderServicePointCut" class="org.springframework.aop.support.NameMatchMethodPointcut"><property name="mappedNames"><list><value>add</value><value>update</value></list></property></bean> --><bean id="orderServicePointCut" class="org.springframework.aop.support.JdkRegexpMethodPointcut"><property name="pattern" value=".*Order"></property></bean><!-- 切面aspect=pointcut+advice --><bean id="orderServiceAspect" class="org.springframework.aop.support.DefaultPointcutAdvisor"><property name="advice" ref="orderServiceAdvice"/><property name="pointcut" ref="orderServicePointCut"/> </bean> <!-- 代理 proxy --><bean id="orderServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean"><property name="target" ref="orderService"/><property name="interceptorNames" value="orderServiceAspect"/><property name="proxyInterfaces" value="cn.nwtxxb.aop.IOrderService"/></bean> </beans>測試代碼
總結
以上是生活随笔為你收集整理的SpringAOP编程-传统基于JDK代理的AOP开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring AOP底层实现原理
- 下一篇: Spring AOP编程-传统基于asp