快速业务通道

Spring中IoC的入门实例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21

Spring中IoC的入门实例

时间:2011-01-02

Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用。这一章先从Spring的IoC开始。所谓IoC就是一个用XML来定义生成对象的模式,我们看看如果来使用的。

数据模型

1、如下图所示有三个类,Human(人类)是接口,Chinese(中国人)是一个子类,American(美国人)是另外一个子类。

Spring中IoC的入门实例 - 编程入门网

源代码如下:

package cn.com.chengang.spring; public interface Human { void eat(); void walk(); } package cn.com.chengang.spring; public class Chinese implements Human { /* (非 Javadoc) * @see cn.com.chengang.spring.Human#eat() */ public void eat() { System.out.println("中国人对吃很有一套"); } /* (非 Javadoc) * @see cn.com.chengang.spring.Human#walk() */ public void walk() { System.out.println("中国人行如飞"); } } package cn.com.chengang.spring; public class American implements Human { /* (非 Javadoc) * @see cn.com.chengang.spring.Human#eat() */ public void eat() { System.out.println("美国人主要以面包为主"); } /* (非 Javadoc) * @see cn.com.chengang.spring.Human#walk() */ public void walk() { System.out.println("美国人以车代步,有四肢退化的趋势"); } }

Spring中IoC的入门实例(2)

时间:2011-01-02

2、对以上对象采用工厂模式的用法如下

创建一个工厂类Factory,如下。这个工厂类里定义了两个字符串常量,所标识不同的人种。getHuman方法根据传入参数的字串,来判断要生成什么样的人种。

package cn.com.chengang.spring; public class Factory { public final static String CHINESE = "Chinese"; public final static String AMERICAN = "American"; public Human getHuman(String ethnic) { if (ethnic.equals(CHINESE)) return new Chinese(); else if (ethnic.equals(AMERICAN)) return new American(); else throw new IllegalArgumentException("参数(人种)错误"); } }

下面是一个测试的程序,使用工厂方法来得到了不同的“人种对象”,并执行相应的方法。

package cn.com.chengang.spring; public class ClientTest { public static void main(String[] args) { Human human = null; human = new Factory().getHuman(Factory.CHINESE); human.eat(); human.walk(); human = new Factory().getHuman(Factory.AMERICAN); human.eat(); human.walk(); } }

控制台的打印结果如下:

Spring中IoC的入门实例 - 编程入门网

Spring中IoC的入门实例(3)

时间:2011-01-02

3、采用Spring的IoC的用法如下:

在项目根目录下创建一个bean.xml文件

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="Chinese" class="cn.com.chengang.spring.Chinese"/> <bean id="American" class="cn.com.chengang.spring.American"/> </beans>

bean.xml的位置如下图,注意不要看花眼把它看成是lib目录下的了,它是在myspring目录下的。

Spring中IoC的入门实例 - 编程入门网

修改ClientTest程序如下:

package cn.com.chengang.spring; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class ClientTest { public final static Str

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号