首页 > 代码库 > spring中构造函数注入

spring中构造函数注入

spring中构造函数注入,简单来说,就是通过beans.xml中,设置相应的值,并且通过bean类中的构造函数进行注入这些值。

文件结构


Goods类

package com.test.innerbean;

public class Goods {
	private String goodsName;
	private int price;
	
	public Goods(String name,int price)
	{
		goodsName=name;
		this.price=price;
	}
	
	public void say()
	{
		System.out.println("goodsname:"+goodsName+" price:"+price);
	}

}

beans.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-2.5.xsd">

    <bean id="goods" class="com.test.innerbean.Goods">
   		<constructor-arg  value=http://www.mamicode.com/"茶杯">>

测试类

package com.test.innerbean;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		BeanFactory factory=new XmlBeanFactory(new ClassPathResource("com/test/innerbean/beans.xml"));
		Goods goods=(Goods)factory.getBean("goods");
		goods.say();
	}

}

输出结果



我们可以看到,能够产生Goods类的一个实例,并且对这个实例进行输出测试,发现也的确获得了相应的值。

spring中构造函数注入