我有一个用例来使用Spring AOP拦截我存储在数据库中的方法名称。但是,我之前使用AOP完成的所有工作都让我相信我拦截的方法的切入点必须是硬编码的。有没有什么方法可以从表中读取方法名称列表并为每个方法创建一个Around建议,以便在调用这些命名方法时执行代码,并且在方法完成成功后需要执行的所有步骤都会发生。
这就是我设计的图片:
-
AFTER_STEPS
--------------------------------------------------------------------
PK | Method | Description | Path
--------------------------------------------------------------------
1 | createFoo() | Create a Bar when a Foo is created. | createBar()
2 | createBar() | Log time when created. | logCurTime()
-
我尝试这样做的原因是我们的代码库非常广泛并且分解为众多应用程序。我想使用存储在所有应用程序中包含的通用应用程序内的方法来在应用程序之间进行通信并在数据中创建链接。
就像上面一个应用程序中的示例一样,我将执行一个RESTful服务,它将调用一个名为createFoo()的方法,一旦成功创建它,我希望Spring AOP触发并调用Common Application中的方法来调用本地方法那里名为createBar()。在createBar()方法中,我将创建使用RestTemplate.exchange()在第二个应用程序中调用RESTful服务的链接。
创建这样的框架将允许我以当前不存在的方式链接应用程序,但我不确定在我阅读的文档中AOP的限制是否可行是多么可行。< / p>