meihua212
meihua212
2010-01-18 21:40
浏览 285
已采纳

spring aop 日志 参数

初学spring AOP ,用AOP做系统日志,用

Object[] args = joinPoint.getArgs();

for(int i=0;i<args.length;i++){

System.out.println(args[i]);

}

获取被AOP的方法

save*方法

public int savepost(Post post)
{

this.postdao.save(post);

}

System.out.println(args[i]);

打印 出来的都是 org.bc.ss.Post@34123

可是我想在日志里面保存 post.getname()的属性怎么弄啊?
不能这样System.out.println((POst)args[i].getname());
因为有好多类型的save*方法。如saveEmp()

不知道我说明白没有?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • lang_shao
    lang_shao 2010-01-18 21:50
    已采纳

    是获取对象中叫name属性的值吗?用反射呀。
    [code="java"]
    Field field = args[i].getClass().getDeclaredField("name");
    if (field != null) {
    System.out.println(field.get(args[i]));
    }
    [/code]

    点赞 评论
  • iteye_11438
    iteye_11438 2010-01-19 09:59

    [code="java"]
    Object[] args = joinPoint.getArgs();

    for(int i=0;i<args.length;i++){

    if(args[i] instanceof Post){
    Post p=(Post)args[i];
    System.out.println(p.getName());
    }

    }

    [/code]

    点赞 评论

相关推荐