SpringAOP中args表达式如何使用

SpringAOP中args表达式如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!成都创新互联为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,做网站、网站设计负责任的成都网站制作公司!

一 配置

               

二 切面类

package org.crazyit.app.aspect;import org.aspectj.lang.annotation.*;import org.aspectj.lang.*;@Aspectpublic class AccessArgAspect{  // 下面的args(arg0,arg1)会限制目标方法必须有2个形参  @AfterReturning(returning="rvt" , pointcut=    "execution(* org.crazyit.app.service.impl.*.*(..)) && args(arg0,arg1)")  // 此处指定arg0、arg1为String类型  // 则args(arg0,arg1)还要求目标方法的两个形参都是String类型  public void access(Object rvt, String arg0 , String arg1)  {    System.out.println("调用目标方法第1个参数为:" + arg0);    System.out.println("调用目标方法第2个参数为:" + arg1);    System.out.println("获取目标方法返回值:" + rvt);    System.out.println("模拟记录日志功能...");  }}

三 接口

Hello

package org.crazyit.app.service;public interface Hello {   // 定义一个简单方法,模拟应用中的业务逻辑方法   void foo();   // 定义一个addUser()方法,模拟应用中的添加用户的方法   int addUser(String name, String pass);}

World

package org.crazyit.app.service;public interface World {   // 定义一个简单方法,模拟应用中的业务逻辑方法   public void bar();}

四 实现类

HelloImpl

package org.crazyit.app.service.impl;import org.springframework.stereotype.Component;import org.crazyit.app.service.*;@Component("hello")public class HelloImpl implements Hello {  // 定义一个简单方法,模拟应用中的业务逻辑方法  public void foo() {    System.out.println("执行Hello组件的foo()方法");  }  // 定义一个addUser()方法,模拟应用中的添加用户的方法  public int addUser(String name, String pass) {    System.out.println("执行Hello组件的addUser添加用户:" + name);    return 20;  }}

WorldImpl

package org.crazyit.app.service.impl;import org.springframework.stereotype.Component;import org.crazyit.app.service.*;@Component("world")public class WorldImpl implements World {  // 定义一个简单方法,模拟应用中的业务逻辑方法  public void bar() {    System.out.println("执行World组件的bar()方法");  }}

五 测试类

package lee;import org.springframework.context.*;import org.springframework.context.support.*;import org.crazyit.app.service.*;public class BeanTest{  public static void main(String[] args)  {    // 创建Spring容器    ApplicationContext ctx = new      ClassPathXmlApplicationContext("beans.xml");    Hello hello = ctx.getBean("hello" , Hello.class);    hello.foo();    hello.addUser("孙悟空" , "7788");    World world = ctx.getBean("world" , World.class);    world.bar();  }}

六 测试结果

执行Hello组件的foo()方法执行Hello组件的addUser添加用户:孙悟空调用目标方法第1个参数为:孙悟空调用目标方法第2个参数为:7788获取目标方法返回值:20模拟记录日志功能...执行World组件的bar()方法

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


网站名称:SpringAOP中args表达式如何使用
转载来于:http://scyanting.com/article/gscgog.html