小编Let*_*ete的帖子

Aspectj:lambda表达式的切入点

我有一个正在迁移到Java8的Java6项目.我们使用aspectj来记录一些用户操作,例如按钮点击.

所以有听众这样:

    button.addClickListener(new Button.ClickListener() {
        @Override
        public void buttonClick(Button.ClickEvent clickEvent) {
            doSth();
        }
    });
Run Code Online (Sandbox Code Playgroud)

和poincut:

@Pointcut("execution(public void Button.ClickListener.buttonClick(Button.ClickEvent))")
public void buttonClick() {};
Run Code Online (Sandbox Code Playgroud)

但是既然我们将使用Java8,那么听众将是这样的:

button.addClickListener(clickEvent -> doSth());
Run Code Online (Sandbox Code Playgroud)

有没有办法编写aspectj切入点,以便它处理新的侦听器?

lambda aspectj java-8

7
推荐指数
1
解决办法
2219
查看次数

标签 统计

aspectj ×1

java-8 ×1

lambda ×1