下面的例子定义了一个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">
分享到:
相关推荐
### Spring框架快速入门知识点详解 #### 一、Spring框架简介 Spring框架是一个开源的应用框架,由Rod Johnson创建,主要用于简化企业级应用的开发。Spring框架的核心特性包括依赖注入(Dependency Injection, DI)...
通过学习和实践这个"JavaEE spring IoC入门案例",你将能够理解并掌握如何在Spring框架下实现IoC,从而提高你的JavaEE开发能力。深入理解和运用这些知识点,可以让你在实际项目中编写出更加健壮、易维护的代码。
这个经典入门案例将引导你逐步了解并掌握 Spring MVC 的基本概念、配置以及实际应用。 1. **Spring MVC 概述** Spring MVC 是一个模型-视图-控制器(MVC)架构模式的实现,它简化了Java Web 应用的开发,提供了一...
Spring框架是Java开发中不可或缺的一部分,它以其强大的依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-Oriented Programming,简称AOP)功能而著名。本入门案例将带你深入了解Spring的核心概念和...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来实现横切关注点,如日志、事务管理、性能监控等。本入门案例将帮助你理解并掌握Spring AOP的基本概念和使用方法。 在...
#### 二、Spring框架入门案例——论坛登录模块 本案例主要介绍如何使用Spring框架实现一个简单的论坛登录模块,涉及的主要技术栈包括Java、Spring框架、Maven构建工具以及MySQL数据库。 ##### 2.1 登录模块功能 ...
总的来说,这份入门资料提供了一个全面的学习路径,从理论知识到实践案例,从基础配置到高级特性,一步步引导你掌握Spring框架。通过阅读文档、实战练习和查阅相关资源,你将能够熟练地使用Spring进行后端开发。
Spring MVC是Spring框架的一个模块,用于构建Web应用。它提供了一个模型-视图-控制器(Model-View-Controller,MVC)架构,帮助开发者分离业务逻辑、数据和用户界面。Spring MVC通过DispatcherServlet接收请求,将...
该教程“Spring框架入门:Java开发者的第一课”主要面向Java初学者,详细介绍了Spring框架的基础知识、核心概念和基本用法。教程涵盖了Spring框架的历史背景、选择Spring的理由、核心概念如依赖注入(DI)和面向切面...
总结来说,这个"spring boot 入门案例"涵盖了 Spring Boot 基础应用的几个关键方面:自动配置、Web 开发(使用 Thymeleaf 模板引擎)、数据库交互(借助 Spring Data JPA)。对于初学者来说,通过这个案例可以学习到...
本入门案例将带你逐步了解如何使用 Spring MVC 创建一个简单的 Web 应用。 首先,我们需要了解 Spring MVC 的核心组件和工作流程: 1. **DispatcherServlet**:作为所有请求的前端控制器,它负责接收请求并分派到...
在这个"SpringCloud入门案例 nacos dubbo"中,我们可能要学习以下内容: 1. **Spring Cloud Nacos的安装与配置**:首先,你需要了解如何下载并部署Nacos服务器,配置服务器的基本参数,如端口号、数据存储路径等。 ...
本文将深入探讨Spring的核心概念——依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of Control,简称IOC),并结合提供的"Spring项目IOC入门案例、Spring项目DI入门案例的代码"进行详细解析。...
Spring框架是Java开发中最常用的轻量级框架之一,它的出现极大地简化了企业级应用的开发。Spring 4.0作为其一个重要的版本,引入了许多新特性和改进,为开发者提供了更强大、更灵活的工具。在这个"spring4.0入门案例...
在Java开发中,Spring框架因其强大的功能和灵活性而备受推崇,其中Spring AOP(Aspect Oriented Programming,面向切面编程)是它的一个重要特性。AOP允许开发者将关注点从核心业务逻辑中分离出来,如日志、事务管理...
在程序中读取Spring 配置文件,通过Spring框架获得Bean,完成相应的操作 在上面是我们的开发流程,我们第一步一般都是导入所需jar包,但由于刚开始时根本不知道该在什么时候用到哪些jar包,所以这里事先不导入jar包...
这些入门案例展示了如何使用Spring框架进行对象的管理和依赖注入,为理解后续的高级特性打下坚实基础。 通过学习Spring框架的学习笔记,开发者能够掌握Spring框架的基础知识和高级特性,应用到实际的企业级应用开发...
从这个入门案例开始,你可以逐步深入学习Spring的其他功能,如AOP、Spring MVC、Spring Boot、Spring Data JPA等,以提升你的Java开发技能。 通过实践这些基础注入方法,你将能够更好地理解Spring框架的工作原理,...
Spring框架是Java开发中的核心组件,它为应用程序提供了一个全面的基础设施,包括依赖注入(DI)、面向切面编程(AOP)以及各种企业级服务。本教程专为初学者设计,旨在帮助“菜鸟”快速掌握Spring的基本概念和实战...
在本文中,我们将深入探讨如何在IntelliJ IDEA(IDEA)中使用Spring框架进行简单的入门。Spring是一个广泛使用的开源Java框架,它为构建企业级应用程序提供了强大的支持,包括依赖注入、面向切面编程(AOP)、事务...