我可以使用AOP注释在spring中注入代码吗?

我可以使用AOP注释在spring中注入代码吗?,spring,aop,spring-aop,Spring,Aop,Spring Aop,是否可以执行以下操作: 它是否有效地运行,就好像它是以下各项一样? 我知道Spring有各种各样的AOP支持,但我能找到的最好的是对AOP代码进行注释,以便它在特定方法之前或之后执行。我想做相反的事情,并对应该更改的代码进行注释 最终,我可以在方法内部执行上述检查,但注释方式提供了额外的文档,这表明用户需要特定的权限,而无需将文档与代码保持同步。我确信您的“权限不足”这个例子可以用来完成,因为Spring安全性就是这样工作的。您可以使用around advice和AspectJ做一些非常

是否可以执行以下操作:

它是否有效地运行,就好像它是以下各项一样?

我知道Spring有各种各样的AOP支持,但我能找到的最好的是对AOP代码进行注释,以便它在特定方法之前或之后执行。我想做相反的事情,并对应该更改的代码进行注释


最终,我可以在方法内部执行上述检查,但注释方式提供了额外的文档,这表明用户需要特定的权限,而无需将文档与代码保持同步。

我确信您的“权限不足”这个例子可以用来完成,因为Spring安全性就是这样工作的。您可以使用around advice和AspectJ做一些非常复杂的事情。

您可以考虑使用AspectJ来做这件事,因为它将匹配注释。然后,您可以使用环绕方面来确定用户是否满足使用此方法的要求

Spring允许您使用AspectJ,如果可能的话,我建议您不要在运行时这样做,而是在编译时这样做,因为无论何时启动应用程序,都没有理由为使用AspectJ付出代价。但是,如果必须在运行时执行,那么这是可行的,对我来说,我会尽量使用编译时

您可能希望查看AspectJ的实际操作(),但下面是一个示例: 签名模式:

* *(@RequestParam
(@Sensitive *))
描述

*Any method with one parameter marked with the @RequestParam annotations and the parameter’s type is marked with the @Sensitive annotation.*
范例

void create(@RequestParam
MedicalRecord mr), assuming
MedicalRecord carries the
@Sensitive annotation.
*Any method with one parameter marked with the @RequestParam annotations and the parameter’s type is marked with the @Sensitive annotation.*
void create(@RequestParam
MedicalRecord mr), assuming
MedicalRecord carries the
@Sensitive annotation.