Spring框架入门案例

下面的例子定义了一个Spring的简单实现,在这个实现中,有一个接口和两个实现类,以及一个客户端的调用类。

(1)首先是IFruit接口的定义,在这个接口中,声明一个方法countPayout()。该方法用来统计购买水果的费用情况。

    源代码:IFruit.java

package org.nitpro.Spring;

public interface IFruit {
	public void countPayout();

}

 

(2)定义Apple实现类,Apple是IFruit接口的实现

    源代码:Apple.java

package org.nitpro.Spring;

public class Apple implements IFruit {
	
	private String price;
	private String number;



	public String getPrice() {
		return price;
	}

	public void setPrice(String price) {
		this.price = price;
	}

	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}
	
	public void countPayout() {
		String strPrice=this.getPrice();
		String strNum=this.getNumber();
		if(strPrice==null||strNum.equals("")){
			strPrice="0.0";
		}
		double d_price=Double.parseDouble(strPrice);
		double d_num=Double.parseDouble(strNum);
		double payout=d_price*d_num;
		System.out.println("购买"+strNum+"斤苹果,支出RMB"+payout);

	}

}

 

在Apple类中,实现了IFruit接口中的countPayout()方法,在coutPayout()方法中,使用了两个方法getPrice()和getNumber(),这两个方法分别对应price和number属性,price和number属性的值将依赖于我们在

applicationContext.xml文件相关节点的定义。

 

(3)定义Pear类,同Apple类一样,Pear类实现了IFruit接口。

源代码:Pear.java

package org.nitpro.Spring;

public class Pear implements IFruit {
	private String price;
	private String number;



	public String getPrice() {
		return price;
	}

	public void setPrice(String price) {
		this.price = price;
	}

	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}
	
	public void countPayout() {
		String strPrice=this.getPrice();
		String strNum=this.getNumber();
		if(strPrice==null||strNum.equals("")){
			strPrice="0.0";
		}
		double d_price=Double.parseDouble(strPrice);
		double d_num=Double.parseDouble(strNum);
		double payout=d_price*d_num;
		System.out.println("购买"+strNum+"斤梨,支出RMB"+payout);

	}

}

 

(4)Spring配置文件

源代码:applicationContext.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.0.xsd">

<bean id="Fruit" class="org.nitpro.Spring.Apple">
<property name="price" value="2.50"></property>
<property name="number" value="5"></property>
</bean>
</beans>

 

(5)客户端测试类的代码

   源代码:TestA.java

package org.nitpro.Spring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class TestA {

	public void testFruit(){
		ApplicationContext ctx=new FileSystemXmlApplicationContext("src/applicationContext.xml");
		IFruit fruit=(IFruit)ctx.getBean("Fruit");
		fruit.countPayout();
	}
	public static void main(String[] args) {
		TestA t=new TestA();
		t.testFruit();

	}

}

 

如果需要IFruit接口实现指定为Pear,直接修改Spring配置文件的节点即可,而不需要改动程序代码

<bean id="Fruit" class="org.nitpro.Spring.Pear">

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值