0 0

刚学spring就遇到一个问题,哪位帮忙解决一下10

我通过构造器注入,并且给构造参数指定了类型,但是运行时报错。
代码:
  
package com.alpha.spring.ch4;

import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;

public class ConstructorConfusion {
	private String message;
	public ConstructorConfusion(String message, int number) {
		System.out.println("ConstructorConfusion(String message, int number) is called");
		this.message = message + Integer.toString(number);
	}
	public String toString() {
		return message;
	}
	public static void main(String[] args) {
		XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource("applicationContext.xml"));
		ConstructorConfusion cc = (ConstructorConfusion)factory.getBean("constructorConfusion");
		System.out.println(cc);
	}
}

xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>	
	<bean id="constructorConfusion" class="com.alpha.spring.ch4.ConstructorConfusion">		
		<constructor-arg index="0" type="String">
			<value>hello world</value>			
		</constructor-arg>
		<constructor-arg index="1" type="int">
			<value>20</value>
		</constructor-arg>
	</bean>
</beans>

运行代码时控制台输出如下错误信息:
log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'constructorConfusion' defined in file [E:\test_workspace\spring\applicationContext.xml]: Unsatisfied dependency expressed through constructor argument with index 0 of type [java.lang.String]: Ambiguous constructor argument types - did you specify the correct bean references as constructor arguments?
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createArgumentArray(AbstractAutowireCapableBeanFactory.java:796)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:673)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:358)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
	at com.alpha.spring.ch4.ConstructorConfusion.main(ConstructorConfusion.java:17)

哪位请告诉我哪里不对?
2008年8月17日 13:16

3个答案 按时间排序 按投票排序

0 0

采纳的答案

1, String加上包名:

<bean id="constructorConfusion" class="com.alpha.spring.ch4.ConstructorConfusion">
		<constructor-arg index="0" type="java.lang.String">
			<value>hello world</value>
		</constructor-arg>
		<constructor-arg index="1" type="int">
			<value>20</value>
		</constructor-arg>
</bean>


2, 指定了index可以直接把type去掉
<bean id="constructorConfusion" class="com.alpha.spring.ch4.ConstructorConfusion">
		<constructor-arg index="0">
			<value>hello world</value>
		</constructor-arg>
		<constructor-arg index="1">
			<value>20</value>
		</constructor-arg>
</bean>

2008年8月17日 13:28
0 0

alert('test.');

2016年5月19日 16:44
0 0

[flash=200,200][flash=200,200][flash=200,200][flash=200,200][flash=200,200][flash=200,200]

[list]
[*][list]
[*][*][list]
[*][*][*][img][img][img][img][img][url][url][url][url][url][flash=200,200][flash=200,200][flash=200,200][flash=200,200][url][url][img][img][img][list]
[*][*][*][*][list]
[*][*][*][*][*][list]
[*][*][*][*][*][*]
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
引用
  • [*][*][*][*][/list]
  • [*][*][*][/list]
  • [*][*][/list][/img][/img][/img][/url][/url][/flash][/flash][/flash][/flash][/url][/url][/url][/url][/url][/img][/img][/img][/img][/img]
  • [*][/list]
  • [/list]
  • [/list]
    [/flash][/flash][/flash][/flash][/flash][/flash]

    2016年5月19日 16:43

    相关推荐

      spring学习过程中遇到的问题和解决,eclipse使用

      spring学习遇到的问题,可以再博客中看到里面的内容,再决定是否下载。

      跟我学spring3(1-7)

      【第一章】 Spring概述 ——跟我学Spring3 【第二章】 IoC 之 2.1 IoC基础 ——跟我学Spring3 【第二章】 IoC 之 2.2 IoC 容器基本原理 ——跟我学Spring3 【第二章】 IoC 之 2.3 IoC的配置使用——跟我学Spring3 ...

      跟我学spring3(8-13)

      【第八章】 对ORM的支持 之 8.1 概述 ——跟我学spring3 【第八章】 对ORM的支持 之 8.2 集成Hibernate3 ——跟我学spring3 【第八章】 对ORM的支持 之 8.3 集成iBATIS ——跟我学spring3 【第八章】 对ORM的支持 之...

      spring2.5.5+JDK1.8 版本报错的解决办法(修改后jar)

      org.springframework.core.JdkVersion 于是找到一个spring-core-3.x.RELEASE.jar,用其中的JdkVersion这个类替换spring-2.5.5.jar对应class,问题解决! 注意:别用spring-core-4.x.RELEASE.jar,JdkVersion....

      刚学spring的问题

      求看看spring的问题刚刚学习spring,在网上下的demo,感觉也对,就是不知道哪里错了

      跟我学Spring,Spring3学习资料

      跟我学Spring,Spring3学习资料,讲的还是很详细的,适合新手看

      跟我学spring3

      跟我学spring3 跟我学spring3 跟我学spring3

      跟我学spring3,很不错的spring学习资料

      跟我学spring3,很不错的spring学习资料,值得大家收藏

      Spring MVC学习指南

      以下这个学习案例是我最近学习Spring MVC时跟从一本 书上的示例,原文中的示例代码有一些小错误,不过我 在调试的过程中已经给予了修正,如还有其它错误,还 请各位批评指正。 对于现有较成熟的Model-View-...

      小白轻松学SpringCloud

      小白轻松学SpringCloud。

      深入浅出学spring

      本视频从基础讲起,对spring初学者的帮助还是比较大的

      跟我学Spring3

      跟我学Spring3

      Spring就这么简单

      Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单...

      跟我学spring3pdf,高清

      跟我学spring3的pdf,便于学习,供大家分享,一起学习

      跟我学spring

      spring 的使用,每个知识点和项目中的运用,20章的介绍。

      整合flex和spring常遇到的问题

      通过多年整合flex与spring使用,总结的经常遇到的问题,希望对大家有帮助!

      跟开涛学spring3

      很好的spring教程,通俗易懂,认真读完一定会有所收获

    Global site tag (gtag.js) - Google Analytics