`
sikla
  • 浏览: 8365 次
  • 性别: Icon_minigender_1
  • 来自: 开封
社区版块
存档分类
最新评论

一个简单的Spring例子:郑阿奇《Java EE 实用教程》

    博客分类:
  • SSH
阅读更多
    这两天看郑阿奇主编的一本书《Java EE 实用教程》的Spring章节,依照书上的例子比葫芦画瓢写一个程序, 一个例子居然弄了两天才算运行成功,期间运行时错误频出,每次都要上网找好久的答案。有有感于此,故把写好的代码放在此处,希望对大家有所帮助。

运行环境: JDK版本:1.6
           Eclipse版本:GALILEO
           Spring版本:spring-framework-3.0.5.RELEASE

步骤:

    新建一个Java Project,名称为Spring_DI,为其添加Spring核心类库,添加commons-logging-1.1.1.jar。

    创建包“org.interface”,在该包中新建Person接口,代码如下:
package org.interfaces;
//定义person接口
public interface Person {
    //接口中定义一个吃食物的方法
    public void eatFood();
}


    继续在该包中定义Food接口,代码如下:
package org.interfaces;
//定义Food接口
public interface Food {
    //在接口中定义一个吃的方法,返回吃东西
    public String eat();
}


    创建包“org.interfaces.impl”,在该包中定义Person的实现类Man,代码如下:
package org.interfaces.impl;
import org.interfaces.Food;
import org.interfaces.Person;
    
//person 接口的具体实现类
public class Man implements Person {
    
    //定义Food接口私有属性,面向Food接口编程,而不是具体实现类。
    private Food food;
	
    //构建setter方法
    public void setFood(Food food){
	this.food=food;
    }
    //实现Person接口eatFood方法
    public void eatFood(){
	System.out.println(food.eat());
    }
}


    定义Food的一个实现类Apple,代码如下:
package org.interfaces.impl;

import org.interfaces.Food;

public class Apple implements Food {

    public String eat(){
	return "正在吃苹果……";
    }
}


    定义Food的一个实现类Orange,代码如下:
package org.interfaces.impl;

import org.interfaces.Food;

public class Orange implements Food {

    public String eat(){
	return "正在吃橘子……";
    }
}


    在项目文件夹下编写Spring的配置文件config.xml,使用Spring的配置文件将Person实例和Food实例组织在一起,配置内容如下:
<?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,该bean的id是man,class指定该bean实例的实现类。  -->
    <bean id="man" class="org.interfaces.impl.Man">
        <property name="food">
            <ref local="apple"/>
        </property>
    </bean>
    
    <!-- 定义apple bean,Food接口的实现类 -->
    <bean id="apple" class="org.interfaces.impl.Apple"></bean>
    <bean id="orange" class="org.interfaces.impl.Orange"></bean>
</beans>


    下面就可以编写测试类了,代码如下:
package org.test;
import org.interfaces.Person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class Test {
	
    public static void main(String[] args) {
		
	//创建Application对象,参数为配置文件放置的位置
	ApplicationContext context=
	    new FileSystemXmlApplicationContext("config.xml");
	//通过Person bean的id来获取bean实例,面向接口编程,因此此处强制类型转换为
        //接口类型
	    Person p=(Person)context.getBean("man");
	    p.eatFood();
    }
}


    运行主程序,输出结果显示如下:


    修改配置文件config.xml,
<bean id="man" class="org.interfaces.impl.Man">
    <property name="food">
        <ref local="orange"/>
    </property>
</bean>


    再次运行主程序,结果显示如下:
正在吃橘子……

  • 大小: 9.1 KB
1
3
分享到:
评论
1 楼 sikla 2011-02-27  
顺便说明一下:本文的目的是为了与各位同行交流编程经验,对书的质量本身并无恶意!

相关推荐

    [Java EE实用教程(第3版)][郑阿奇][电子教案(PPT版本)]

    《Java EE实用教程(第3版)》是郑阿奇教授编写的一本深入浅出的Java企业级应用开发教程,适合初学者和有一定基础的开发者参考。本教程以PPT形式呈现,虽然不包含源码,但依然能够帮助读者理解和掌握Java EE的核心...

    Java EE基础实用教程[郑阿奇][教程-实验-源码]

    这个教程由知名讲师郑阿奇提供,旨在帮助初学者和开发者深入理解并掌握Java EE的基本概念、技术和实践方法。以下是一些核心知识点的详细说明: 1. **Servlet与JSP**:Servlet是Java EE中的基础组件,用于处理HTTP...

    Java EE基础实用教程[郑阿奇]

    javaweb 郑阿奇 Java EE基础实用教程[郑阿奇]Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端...

    Java EE实用教程[郑阿奇][电子教案(PPT版本)].zip

    郑阿奇老师的《Java EE实用教程》是一本深入浅出的教学资料,旨在帮助初学者和开发者快速掌握Java EE技术。这本教程可能涵盖了以下几个主要知识点: 1. **Servlet与JSP**:Servlet是Java EE中的基础组件,用于处理...

    Java EE实用教程 郑阿奇 第3版 课本源代码

    《Java EE实用教程》郑阿奇第三版的源代码提供了丰富的学习材料,涵盖了Java企业级应用开发的关键技术。本教程的源代码分为多个章节的demo,每个demo都是一个独立的项目,便于读者逐个理解并实践Java EE的核心概念。...

    Java EE实用教程[郑阿奇]PPT

    《Java EE实用教程》是由郑阿奇编著的2009版教程,这是一本深入浅出地介绍Java企业级应用开发的书籍。Java EE(Enterprise Edition)是Java平台的高级版本,专为构建分布式、多层的企业级应用程序而设计。本教程通过...

    Java EE基础实用教程(电子教案+源程序 郑阿奇著)

    《Java EE基础实用教程》是郑阿奇撰写的一本针对初学者和中级开发者的书籍,主要涵盖了Java企业级开发中的核心技术和实践应用。本教程通过详细的讲解和实例演示,帮助读者掌握Java EE平台上的开发技能。 1. **Java ...

    Java EE基础实用教程[郑阿奇][实验

    这个教程由郑阿奇教授设计,旨在帮助初学者掌握Java EE的基础知识和实用技能,通过实验的方式让学习者更好地理解和实践。在这个教程中,你将接触到一系列核心的Java EE技术,包括Servlet、JSP、JDBC、EJB、JPA、JSF...

    ASP.NET程序设计实验代码 郑阿奇(vb)

    本实验代码集由郑阿奇编著,对应于《ASP.NET程序设计教程》第二版,旨在帮助学习者通过实践深入理解ASP.NET的编程原理和技巧。 在VB(Visual Basic)版本的ASP.NET中,开发者可以使用VB.NET语言编写后端代码,这是...

    C#实用教程[郑阿奇主编]

    《C#实用教程》是郑阿奇主编的一本面向初学者和进阶者的编程教材,旨在帮助读者深入理解和掌握C#编程语言。本教程结合实际案例,提供了丰富的学习资源,包括课件、示例代码和练习题,以帮助读者全方位提升C#编程技能...

    SQL Server实用教程 第五版 课件 (郑阿奇)

    《SQL Server实用教程 第五版 课件 (郑阿奇)》是一套全面介绍SQL Server数据库管理系统的教学资源,由知名讲师郑阿奇编著。本教程针对SQL Server的第五个主要版本,提供了深入浅出的讲解,适合数据库原理课程学习...

    Java EE实用教程代码

    Java EE,全称为Java Platform, Enterprise Edition,是Java平台针对企业级应用开发的一个标准和框架。这个标准由Oracle公司维护,它提供了一整套服务来支持分布式、多层架构的应用程序,包括Web服务器、应用服务器...

    Java+EE基础实用教程

    【Java+EE基础实用教程】是一本专注于Java企业级应用开发的综合教程,由知名教育专家郑阿奇编著。本书旨在为初学者提供全面、深入的Java EE基础知识,帮助他们快速掌握Java EE开发的核心技能。 Java EE(Enterprise...

    Java实用教程(第2版)[郑阿奇][案例及素材]

    《Java实用教程(第2版)》是由郑阿奇编著的一本面向实践的Java编程教材,主要针对初学者和有一定基础的开发者,旨在通过丰富的案例和素材帮助读者深入理解和掌握Java编程技术。这本书涵盖了Java语言的基础知识、...

    C#程序设计教程-郑阿奇

    《C#程序设计教程-郑阿奇》是针对C#编程语言的一本深入教程,由知名讲师郑阿奇编著。教程重点在于帮助初学者和有一定基础的开发者掌握C#编程的核心概念和技术,通过实际的程序代码来阐述理论知识,以实现理论与实践...

    MySQL实用教程[郑阿奇][上机实验程序]

    本教程由郑阿奇提供,旨在通过上机实验的方式帮助学习者深入理解和掌握MySQL的实际应用。以下是基于提供的标题、描述和标签所总结的知识点: 1. **MySQL基础**: - 数据库概念:了解数据库的基本概念,如表、字段...

    java ee基础使用教程

    本教程由知名讲师郑阿奇编著,旨在帮助初学者掌握Java EE的基础使用方法。 一、Java EE概述 Java EE是Sun Microsystems(现已被Oracle收购)推出的标准,它包含了服务器端的多种技术,如Servlet、JSP、EJB、JMS、...

    Eclipse实用教程[郑阿奇资料

    《Eclipse实用教程[郑阿奇资料]》是一份针对Eclipse集成开发环境的详尽教程,主要面向研究生级别的学习者。这份资料包含了两大部分:Eclipse实用教程的电子教案和试验部分,旨在帮助用户深入理解和熟练应用Eclipse...

    JSP实用教程(第2版)[郑阿奇]及程序源码

    JSP实用教程(第2版)[郑阿奇]及程序源码 第二版与第三版基本一样,可以参考 此资源中包括《JSP实用教程(第2版)》[郑阿奇]的课件及课程相关源码 目录如下: 第1章 JSP简介 第2章 JSP语法 第3章 JSP内置对象 第4章 ...

Global site tag (gtag.js) - Google Analytics