您的位置:首頁技術文章
文章詳情頁

sping - Spring注入,在XML配置中引用JavaConfig,結果找不到Config中的bean

瀏覽:121日期:2024-02-03 09:08:37

問題描述

XML:

<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd'> <!--<bean />--> <!--引入JavaConfing配置類--> <bean /> <!--xml配置--> <bean class='com.soundsystem.CDPlayer'><constructor-arg ref='sgtPeppers'/> </bean></beans>

sgtPeppers的bean配置在JavaConfig中:

package com.soundsystem;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class CDConfig { @Bean public CompactDisc sgtPeppers(){return new SgtPeppers(); }}

執行后報錯:警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ’cdPlayer’ defined in class path resource [META-INF/spring/cdplayer-config.xml]: Cannot resolve reference to bean ’sgtPeppers’ while setting constructor argument; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ’sgtPeppers’ availableException in thread 'main' org.springframework.beans.factory.BeanCreationException: Error creating bean with name ’cdPlayer’ defined in class path resource [META-INF/spring/cdplayer-config.xml]: Cannot resolve reference to bean ’sgtPeppers’ while setting constructor argument; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ’sgtPeppers’ available

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ’sgtPeppers’ available

sping - Spring注入,在XML配置中引用JavaConfig,結果找不到Config中的bean

IDEA顯示是綠色的,但是為什么找不到

問題解答

回答1:

<bean class='com.soundsystem.CDPlayer'> <constructor-arg ref='sgtPeppers'/></bean>意思是創建cdPlayer這個Bean的時候給CDPlayer的構造函數一個sgtPeppers對象

標簽: java
国产综合久久一区二区三区