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

前端之家收集整理的这篇文章主要介绍了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相关文章