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[]))