AspectJ --- 边读边写--1

ss


A pointcut can be built out of other pointcuts with and, or, and not (spelled &&, ||, and !).

 第一个例子..

public aspect AsHelloworld {

    // pointcut say(): execution(* cn.*.set*(..));

    pointcut setName(User u, String y):
        call(void User.setName(String))
        && target(u)
        && args(y);

    after(User u, String x) returning(..这个括号可有可无..) : setName(u, x) {
        System.out.println("hello, " + u.getName());
    }

}
public class User {

    private int id;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
    public static void main(String[] args) {
        User u = new User();
        u.setName("xiaoyee");
    }
}

 哈哈  这就是输出结果...

> execution(void cn.xiaoyee.orient.User.main(String[]))
hello, xiaoyee
< execution(void cn.xiaoyee.orient.User.main(String[]))

 

 

posted @ 2012-12-16 20:17  Onakaumi  阅读(199)  评论(0编辑  收藏  举报