首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

spring容易demo——翻转

2012-11-23 
spring简单demo——翻转Spring 实例入门 本文结合实例理解解容器,DI,IOC,耦合,解耦等Spring所涉及的概念,同

spring简单demo——翻转

Spring 实例入门

本文结合实例理解解容器,DI,IOC,耦合,解耦等Spring所涉及的概念,同时了解Spring的最基本也是最核心的使用方法。

?

1. Spring容器 Spring容器负责对象的实例化,对象生命周期的管理,被Spring管理的对象称之为Bean。

?例如有Soldier类需要交由Spring容器管理,我们先编写类

package com.hb; public class Soldier {

? private String name;?

??public String getName() {?? return name;? }

? public void setName(String name) {?? this.name = name;

? }

}

?

?

在Spring配置文件中添加如下配置

<bean id="s1" scope="prototype"></bean>?

?

?

2. 注入方式有setter注入,构造注入方式,接口注入(不需掌握)。建议多使用Setter注入方式。

?

Setter注入:

Soldier类中有一个属性name,如何在创建Soldier的时候使name的值变为”RANBO”?

配置如下:

<bean? id="s1"? class="com.hb.HandGun"></bean>

?

测试:

ApplicationContext context = new? ClassPathXmlApplicationContext("applicationContext.xml"); Soldier s1 = (Soldier) context.getBean("s1");

s1.fight();

?

至此,我们使用Spring很好的解决了HandGun和Soldier的耦合问题。Soldier类中再也看不到HandGun的踪影了,Soldier只依赖于接口,而最终Soldier还是使用了HandGun,这是为什么呢?Spring在这里管理了单个的对象,也管理了对象之间即Soldier和HandGun的依赖关系。原本是由Soldier控制HandGun的实例化的,转变为由Spring容器来控制,这里发生了控制权的转移,这就是控制反转控制反转控制反转控制反转(Inversion of Control,简称IOC)。当Soldier需要HandGun时,Spring会自动将HandGun对象注入给Soldier,这就是依赖注入依赖注入依赖注入依赖注入了。?? 看一下你是否已经有所领悟了: 假如“手-枪“已经不满足“士兵”的需要,我们需要将“手-枪”更换为更先进的“机枪”,你的程序如何编写呢?自己试一下吧!!

?

?

?

?

?

?

?

热点排行