码迷,mamicode.com
首页 > 编程语言 > 详细

定义一个包含增强方法的javaBean(最终增强)

时间:2017-09-18 00:23:15      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:文件   asp   res   rate   ima   处理   结果   ntc   cep   

 使用Schema

 

技术分享

1.AroundLogger类

 1 //定义一个包含增强方法的javaBean
 2 public class AroundLogger{
 3     //注解方式的环绕增强处理
 4     private static final Logger log = Logger.getLogger(AroundLogger.class);
 5     public Object aroundLogger(ProceedingJoinPoint jp){
 6         log.info("a调用"+jp.getTarget()+"的"+jp.getSignature().getName()+"方法,方法参数是:"
 7                 +Arrays.toString(jp.getArgs()));
 8         try {
 9             Object result = jp.proceed();//调用目标方法,获取目标方法的返回值
10             log.info("a调用"+jp.getTarget()+"的"+jp.getSignature().getName()+"方法,方法返回值是:"
11                     +result);
12             return result;
13         } catch (Exception e) {
14             log.error(jp.getSignature().getName()+"方法抛出异常"+e);
15             e.printStackTrace();
16         } catch (Throwable e) {
17             // TODO Auto-generated catch block
18             e.printStackTrace();
19         }
20         return null;
21     }
22 }

 

2.spring配置文件

 1     <bean id="dao" class="com.dao.impl.IUserDaoImpl"></bean>
 2     <bean id="biz" class="com.biz.impl.IUserBizImpl">
 3         <property name="dao" ref="dao"></property>
 4     </bean>
 5     <!-- 声明增强方法所在的类 -->
 6     <bean id="thelogger" class="com.aop.AroundLogger"></bean>
 7     <!-- 配置切面 -->
 8     <aop:config>
 9     <!-- 定义切入点 -->
10         <aop:pointcut expression="execution(* com.biz.IUserBiz.* (..))" id="pointcut"/>
11         <!-- 引入包含增强的bean -->
12         <aop:aspect ref="thelogger">
13             <!--将aroundLogger方法定义为最终增强并引入切入点  -->
14             <aop:around method="aroundLogger" pointcut-ref="pointcut"/>
15         </aop:aspect>
16     </aop:config>

3.测试类同使用Schema配置切面

4.测试结果

技术分享

 

定义一个包含增强方法的javaBean(最终增强)

标签:文件   asp   res   rate   ima   处理   结果   ntc   cep   

原文地址:http://www.cnblogs.com/myhzb/p/7538450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!