我有一個基於xml-config的spring應用程序,其中我的一個bean需要作爲構造器參數com.typesafe.config.Config參數。 爲此,我們有一個@Configuration類,其中一個方法(註釋爲@Bean)返回一個com.typesafe.config.Config對象。如何從返回接口(com.typesafe.config.Config)的方法(@Bean)在xml中注入Bean?
但是,當春天開始就抱怨說,「未能實例[com.typesafe.config.Config]:指定類是一個接口」
如何通過XML注入了getconfig返回對象到構造函數?
這裏是代碼片段簡化擺脫應用邏輯:
import com.typesafe.config.Config;
...
public class myFilter implements Filter {
public myFilter(Config aconfig) {
...
}
}
然後,我有一個JavaConfig類,如下所示創建我需要在myFilter構造注入豆:
@org.springframework.context.annotation.Configuration
public class TSConfiguration {
...
@Bean(name = "app-config")
public Config getConfig() {
...
}
}
我已經把我的spring.xml文件中的以下內容:
<beans:bean class="TSConfiguration" />
<beans:bean id="app-config" class="com.typesafe.config.Config"/>
<beans:bean id="theFilter" class="myFilter">
<beans:constructor-arg index="0" ref="app-config"/>
</beans:bean>
這裏從春季例外:
15-Feb-2017 13:19:55.463 SEVERE [localhost-startStop-1] org.springframework.web.context.ContextLoader.initWebApplicationContext Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'app-config' defined in ServletContext resource [/WEB-INF/spring-security.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.typesafe.config.Config]: Specified class is an interface
Thanx。
我試圖將其刪除,但仍然無法正常工作。刪除我得到的bean定義線 設置構造函數參數時無法解析對bean'app-config'的引用;嵌套異常是org.springframework.beans.factory.NoSuchBeanDefinitionException:沒有定義名爲'app-config'的bean – MDot
我沒有從TSConfiguration bean中得到任何錯誤。 – MDot
我沒有從TSConfiguration bean中得到任何錯誤:刪除myFilter bean定義需要app-config,不會引發其他異常。我留在TSConfiguration中,沒有給出錯誤。 – MDot