欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

spring 使用annotation跟xml配置文件实现aop

更新时间: 2014-01-05 02:01:09 责任编辑: Author_N1

 

Spring 使用annotation和xml配置文件实现AOP
     
[b][b]1、配置文件中:[/b][/b]
<!-- 通过XML 文件实现AOP ,切面编程 -->
		<bean id="aopBaseXML" class="com.svse.aop.AopBaseXML"></bean>
		<aop:config>
			<!-- 定义切面 -->
			<aop:aspect id="myLogAspect" ref="aopBaseXML">
				<!-- 在哪些位置加上切面 -->
				<aop:pointcut  id="myPointCut" expression="execution(* com.svse.impl.*.add*(..)) ||
				execution(* com.svse.impl.*.find*(..))"/>
				
				<!-- 加入切面的时机 -->
				<aop:before method="before" pointcut-ref="myPointCut"/>
				<aop:after method="after" pointcut-ref="myPointCut"/>
				<aop:around method="around" pointcut-ref="myPointCut"/>
			</aop:aspect>
		</aop:config>	


2、类:
/**
		 * 基于XML 实现AOP 切面编程
		 * @author Administrator
		 *
		 */
		public class AopBaseXML {
			
			/**
			 * 前通知
			 * @param jp
			 */
			public void before(JoinPoint jp){
				LogInfo.info("开始前加入日志"+jp.getSignature().getName());
			}
			
			/**
			 * 后通知
			 * @param jp
			 */
			public void after(JoinPoint jp){
				LogInfo.info("结束后加入日志"+jp.getSignature().getName());
			}
			
			/**
			 * 
			 */
			public void around(ProceedingJoinPoint pjp){
				LogInfo.info("开始前加入日志"+pjp.getSignature().getName());
				try {
					pjp.proceed();//执行程序
				} catch (Throwable e) {
					e.printStackTrace();
				}
				LogInfo.info("程序结束调用!");
			}
		}
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:01:09
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/4569/
本文WWW.DOC100.NET DOC100.NET版权所有。