我想在自定义注释中使用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);
工作良好