laianfa 2008-08-17 13:16
浏览 280
已采纳

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

我通过构造器注入,并且给构造参数指定了类型,但是运行时报错。
代码:
[code="java"]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);
}
}
[/code]
xml配置文件:
[code="java"]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">





hello world



20


[/code]
运行代码时控制台输出如下错误信息:
[code="java"]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)
[/code]
哪位请告诉我哪里不对?

  • 写回答

3条回答 默认 最新

  • iteye_14762 2008-08-17 13:28
    关注

    1, String加上包名:
    [code="java"]


    hello world


    20


    [/code]

    2, 指定了index可以直接把type去掉
    [code="java"]


    hello world


    20


    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用