如何使用名称中的分隔符来调用bean以进行流动

时间:2016-04-23 09:04:42

标签: java spring spring-webflow

我有一个豆子

<bean name="api.HelloWorld" class="ru.example.api.HelloWorld"/>

当您在流程中调用时,我收到错误。

<evaluate expression="api.HelloWorld.test()"/>

如何打电话?

1 个答案:

答案 0 :(得分:1)

如果您使用SpEL,可以使用:

var listA = (from a in db.a
             where (from b in db.b
                    join c in db.c on b.id equals c.id
                    where c.col1 == "something"
                    select b.id).Contains(a.id)
             select a.id).ToList();

如果您使用的是OGNL或jboss-el,我认为除了使用实用程序类之外我不会这样做,如下所示:

<evaluate expression="@'api.HelloWorld'.test()"/>

然后使用:

@Component
public class WebFlowUtil {

    @Autowired
    private ApplicationContext applicationContext;

    public Object getBean(String beanName) {
        return applicationContext.getBean(beanName);
    }
}