首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

3-16构造方法搅混

2012-08-29 
3-16构造方法混淆一下代码有两个构造函数,一个是接收int一个是接收String类型的,当我们在配置文件传入一个

3-16构造方法混淆
一下代码有两个构造函数,一个是接收int一个是接收String类型的,当我们在配置文件传入一个1的时候,我们会发现它传给了String类型的,这显然不是我们希望的。下面配置文件就是一个解决办法。

package com.apress.prospring2.ch03.beanfactory;import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.xml.XmlBeanFactory;import org.springframework.core.io.ClassPathResource;/** * @author janm */public class ConstructorConfusionDemo {    private String someValue;    public ConstructorConfusionDemo(String someValue) {        System.out.println("ConstructorConfusionDemo(String) called");        this.someValue = someValue;    }    public ConstructorConfusionDemo(int someValue) {        System.out.println("ConstructorConfusionDemo(int) called");        this.someValue = "Number: " + Integer.toString(someValue);    }    public static void main(String[] args) {        BeanFactory factory = new XmlBeanFactory(                new ClassPathResource("/META-INF/spring/beanfactorydemo3-context.xml"));        ConstructorConfusionDemo cc = (ConstructorConfusionDemo)factory.getBean("constructorConfusion");        System.out.println(cc);    }    public String toString() {        return someValue;    }}

<?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 id="constructorConfusion" type="int"/>    </bean></beans>

结果:
ConstructorConfusionDemo(int) calledNumber: 1

热点排行