这两天看郑阿奇主编的一本书《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
分享到:
相关推荐
《Java EE实用教程(第3版)》是郑阿奇教授编写的一本深入浅出的Java企业级应用开发教程,适合初学者和有一定基础的开发者参考。本教程以PPT形式呈现,虽然不包含源码,但依然能够帮助读者理解和掌握Java EE的核心...
这个教程由知名讲师郑阿奇提供,旨在帮助初学者和开发者深入理解并掌握Java EE的基本概念、技术和实践方法。以下是一些核心知识点的详细说明: 1. **Servlet与JSP**:Servlet是Java EE中的基础组件,用于处理HTTP...
javaweb 郑阿奇 Java EE基础实用教程[郑阿奇]Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端...
郑阿奇老师的《Java EE实用教程》是一本深入浅出的教学资料,旨在帮助初学者和开发者快速掌握Java EE技术。这本教程可能涵盖了以下几个主要知识点: 1. **Servlet与JSP**:Servlet是Java EE中的基础组件,用于处理...
《Java EE实用教程》郑阿奇第三版的源代码提供了丰富的学习材料,涵盖了Java企业级应用开发的关键技术。本教程的源代码分为多个章节的demo,每个demo都是一个独立的项目,便于读者逐个理解并实践Java EE的核心概念。...
《Java EE实用教程》是由郑阿奇编著的2009版教程,这是一本深入浅出地介绍Java企业级应用开发的书籍。Java EE(Enterprise Edition)是Java平台的高级版本,专为构建分布式、多层的企业级应用程序而设计。本教程通过...
《Java EE基础实用教程》是郑阿奇撰写的一本针对初学者和中级开发者的书籍,主要涵盖了Java企业级开发中的核心技术和实践应用。本教程通过详细的讲解和实例演示,帮助读者掌握Java EE平台上的开发技能。 1. **Java ...
这个教程由郑阿奇教授设计,旨在帮助初学者掌握Java EE的基础知识和实用技能,通过实验的方式让学习者更好地理解和实践。在这个教程中,你将接触到一系列核心的Java EE技术,包括Servlet、JSP、JDBC、EJB、JPA、JSF...
本实验代码集由郑阿奇编著,对应于《ASP.NET程序设计教程》第二版,旨在帮助学习者通过实践深入理解ASP.NET的编程原理和技巧。 在VB(Visual Basic)版本的ASP.NET中,开发者可以使用VB.NET语言编写后端代码,这是...
《C#实用教程》是郑阿奇主编的一本面向初学者和进阶者的编程教材,旨在帮助读者深入理解和掌握C#编程语言。本教程结合实际案例,提供了丰富的学习资源,包括课件、示例代码和练习题,以帮助读者全方位提升C#编程技能...
《SQL Server实用教程 第五版 课件 (郑阿奇)》是一套全面介绍SQL Server数据库管理系统的教学资源,由知名讲师郑阿奇编著。本教程针对SQL Server的第五个主要版本,提供了深入浅出的讲解,适合数据库原理课程学习...
Java EE,全称为Java Platform, Enterprise Edition,是Java平台针对企业级应用开发的一个标准和框架。这个标准由Oracle公司维护,它提供了一整套服务来支持分布式、多层架构的应用程序,包括Web服务器、应用服务器...
【Java+EE基础实用教程】是一本专注于Java企业级应用开发的综合教程,由知名教育专家郑阿奇编著。本书旨在为初学者提供全面、深入的Java EE基础知识,帮助他们快速掌握Java EE开发的核心技能。 Java EE(Enterprise...
《Java实用教程(第2版)》是由郑阿奇编著的一本面向实践的Java编程教材,主要针对初学者和有一定基础的开发者,旨在通过丰富的案例和素材帮助读者深入理解和掌握Java编程技术。这本书涵盖了Java语言的基础知识、...
《C#程序设计教程-郑阿奇》是针对C#编程语言的一本深入教程,由知名讲师郑阿奇编著。教程重点在于帮助初学者和有一定基础的开发者掌握C#编程的核心概念和技术,通过实际的程序代码来阐述理论知识,以实现理论与实践...
本教程由郑阿奇提供,旨在通过上机实验的方式帮助学习者深入理解和掌握MySQL的实际应用。以下是基于提供的标题、描述和标签所总结的知识点: 1. **MySQL基础**: - 数据库概念:了解数据库的基本概念,如表、字段...
本教程由知名讲师郑阿奇编著,旨在帮助初学者掌握Java EE的基础使用方法。 一、Java EE概述 Java EE是Sun Microsystems(现已被Oracle收购)推出的标准,它包含了服务器端的多种技术,如Servlet、JSP、EJB、JMS、...
《Eclipse实用教程[郑阿奇资料]》是一份针对Eclipse集成开发环境的详尽教程,主要面向研究生级别的学习者。这份资料包含了两大部分:Eclipse实用教程的电子教案和试验部分,旨在帮助用户深入理解和熟练应用Eclipse...
JSP实用教程(第2版)[郑阿奇]及程序源码 第二版与第三版基本一样,可以参考 此资源中包括《JSP实用教程(第2版)》[郑阿奇]的课件及课程相关源码 目录如下: 第1章 JSP简介 第2章 JSP语法 第3章 JSP内置对象 第4章 ...