gpt4 book ai didi

java - Broadleaf - 扩展工作流程中的自定义 Activity 问题

转载 作者:行者123 更新时间:2023-11-30 08:17:31 25 4
gpt4 key购买 nike

我通过添加新 Activity 来实现订单工作流程的扩展。我需要此 Activity 来使用我在核心中实现的新服务 (ExtInterfaceService)。

问题是我能够将ExtInterfaceService注入(inject)到其他几个 Controller 和其他服务中,但是一旦我将其添加到我的新 Activity 中,服务器就无法启动并出现异常:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'extInterfaceService' is defined.

我不明白它如何能够自动连接其他 Controller /服务而不是工作流 Activity 。顺便说一下,这就是我定义服务的方式。

@Service("extInterfaceService")
public class ExtInterfaceServiceImpl implements ExtInterfaceService

我什至通过在其中一个 Controller (使用此服务)以及我的扩展 Activity 中执行以下操作来手动连接它,以查看差异:

context.getBean("extInterfaceService",ExtInterfaceService.class);

我注意到 Controller 和 Activity 中的上下文对象是不同的。在Controller中检索到的上下文中找到了该bean,但是Activity中的上下文没有这个bean!这怎么可能?

如果我手动创建对象的新实例,应用程序可以正常工作。我对幕后发生的魔法完全迷失了。

最佳答案

我通过向此文件添加以下行解决了此问题:site/src/main/webapp/WEB-INF/applicationContext.xml。这些行已存在于 site/src/main/webapp/WEB-INF/applicationContext-servlet.xml 中,但仅在将其添加到 applicationContext.xml 后才起作用。

<context:component-scan base-package="org.broadleafcommerce.common.web"/>
<context:component-scan base-package="org.broadleafcommerce.profile.web.controller"/>
<context:component-scan base-package="org.broadleafcommerce.profile.web.core.service.login"/>

关于java - Broadleaf - 扩展工作流程中的自定义 Activity 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29447992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com