簡體   English   中英

創建名稱為bean的bean時出錯:org.springframework.beans.factory.NoSuchBeanDefinitionException

[英]Error creating bean with name : org.springframework.beans.factory.NoSuchBeanDefinitionException

我是Spring Framework的新手,並試圖通過Spring初始化一個對象'abcListener',它包含一個實例變量'algoMediator',我得到了以下異常。

Error creating bean with name 'abcListener' defined in class path resource [eventcreation/integration.xml]: Cannot resolve reference to bean 'liabilityService' while setting bean property 'algoMediator'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'liabilityService' is defined.

在Spring XML中,我將bean定義如下。

 <bean id="abcListener" class="services.integration.AbcListener">
               <property name="algoMediator" ref="liabilityService"/>
</bean>

Java類是

public class AbcListener 
{
   private AlgoMediator algoMediator;

    public void setAlgoMediator(AlgoMediator algoMediator) {
        this.algoMediator = algoMediator;
    }
}

我已經在太多地方簽入了項目,intsance變量bean以相同的方式定義,並且'liabilityService'在不同的文件中定義,但它不接受我的定義。

liabilityService Spring XML是 http://www.springframework.org/schema/beans/spring-beans.xsd“default-autowire =”byName“>

<alias name="liabilityService" alias="algoMediator"/>   
<bean id="liabilityService" class="services.liability.impl.AlgoMediator" init-method="init" >
    <property name="eventLiabilityMonitoringInterval" value="${liability.eventLiabilityMonitoringInterval}"/>
    <property name="fastTrackedSuspensions" value="${ms.fastTrackedSuspensions:false}"/>
    <property name="blurInterval" value="${liability.ms.blurInterval}"/>
    <property name="publishActualOffTime" value="${ms.publishActualOffTime}"/>
    <property name="transactionManager" ref="transactionManager"/>
    <property name="liabilityDatasource" ref="liabilityDatasource"/>
    <property name="liabilityScaleFactor" value="${liability.scaleFactor:0}"/>
    <property name="sportsWithoutMarketAlerts" value="${alerts.sportsWithoutMarketAlerts}"/>
</bean>

請檢查AlgoMediator類中是否存在init()方法,否則刪除init-method =“init”聲明

如果您創建任何新注入,請轉到integration.xml並添加bean,它將解決問題。

示例

public class ExampleClass{
...
@Autowired
ExampleInjection exampleInjection
...
}

integration.xml添加它

<bean id="exampleInjection"
    class="yourPackageName.className">
</bean>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM