java – 自定义注释中的Spring表达式语言

我想在自定义注释中使用Spring Expression Language.
此注释将由自定义Aspect使用.

看一下这个:

@StatisticEventTrigger(value = TestStatisticEvent.class,expression = "#p1")
public void someOtherMethod(String arg1,Long arg2) {

如您所见,我想使用表达式(在本例中)来检索一些特定的参数.

我有我的Aspect,触发带注释的方法时,我想评估spring表达式(以编程方式)来检索用于进一步业务的值;)

有任何想法吗?到目前为止谷歌不是我的朋友!

最佳答案
我想通过SpEL如何做到这一点.
我使用了以下表达式:

@EventTrigger(value = EventTestModel.class,expression = "new Object[]{arguments[1],arguments[2]}")

并遵循Java代码

ExpressionParser parser = new SpelExpressionParser();
StandardEvaluationContext context = new StandardEvaluationContext(expressionEvaluationTarget);
Object[] eventPayloadModels = parser.parseExpression(expression).getValue(context);

工作良好

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...