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

Spring学习札记:第二章 Spring中IoC的入门实例

2012-10-25 
Spring学习笔记:第二章 Spring中IoC的入门实例第二章Spring中IoC的入门实例Spring的模块化是很强的,各个功

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

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



源代码如下:

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("美国人以车代步,有四肢退化的趋势");

      }

}


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();

      }

}


控制台的打印结果如下:




3、采用Spring的IoC的用法如下:
1、在项目根目录下创建一个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" 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.American"/>

</beans>


关于bean.xml的其它用法,不再详细介绍了,大家自己拿Spring的文档一看就明白了。
1 楼 pengchhx 2010-01-28   没图没真相

热点排行