0

我正在尝试解决以下问题:我有一个这样定义的方面:

public aspect ComponentAspect {
    declare @type : uk.co.xxx.* : @Component;
}

正如预期的那样,它注释了“uk.co.xxx”包中的所有内容,问题是我不需要注释这个包中的所有类,只需要那些匹配特定模式的类,例如我有以 ...Client.java 结尾的类只有这些我想注释。所以我希望这样的代码:

public aspect ComponentAspect {
    declare @type : uk.co.xxx.workflow.*Client : @Component;
}

但当然,这只是我的一厢情愿。

有什么想法可以实现我的结果吗?

非常感谢任何想法,到目前为止我花了 2 个小时没有任何进展:(

4

1 回答 1

1

为什么一厢情愿?它可以按您的预期工作。您只需要注意您的类型模式所针对的包和/或子包。

也许您真正想要做的是针对某个包的所有子包中具有某个名称的所有类。在这种情况下,您需要..语法,如下所示:

public aspect ComponentAspect {
    declare @type : uk.co.xxx.workflow..*Client : @Component;
}

我尝试了我的一个应用程序,它就像一个魅力。

于 2013-03-23T14:03:26.603 回答