1. 程式人生 > >spring中構造函數註入

spring中構造函數註入

port package .class code ack 一個 price org stat

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="茶杯"></constructor-arg> <constructor-arg value="12"></constructor-arg> </bean> </beans>



測試類

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中構造函數註入