Spring的依赖注入是指一个java类(调用者)调用另外一个java类(被调用者)的过程是在spring配置文件中完成的,既在配置文件中完成调用者的实例,然后再注入被调用者。下面以一个简单例子说明。
注:所谓的控制反转和依赖注入是同一概率。调用者调用被调用者的工作交给spring来做,就叫控制反转。依赖注入如上所说,就是在spring配置文件的调用者的实例中注入被调用者。
Bean.xml:
<
beans
>
<!--
调用者实例
-->
<
bean
id
=
"fengshan"
class
=
"com.dvnchina.test.Fengshan"
>
<!--
注入被调用者
-->
<
property
name
=
"view"
>
<
ref
local
=
"fengshanView"
/>
</
property
>
</
bean
>
<!--
被调用者实例
-->
<
bean
id
=
"fengshanView"
class
=
"com.dvnchina.test.FengshanView"
/>
</
beans
>
City.java:
public
interface
City {
public
void
describCity();
}
View.java
public
interface
View {
public
String describe();
}
Fengshan.java
(继承于
City
接口)
:
public
class
Fengshan
implements
City {
private
View
view
;
//
默认构造方法
public
Fengshan(){
}
//
设置注入所需的
setter
方法
public
void
setView(View view) {
this
.
view
= view;
}
//
实现接口的方法
public
void
describCity() {
System.
out
.println(
view
.describe());
}
}
FengshanView.java(
继承于
View
接口
):
public
class
FengshanView
implements
View{
public
FengshanView(){}
public
String describe() {
return
"
凤山很漂亮
"
;
}
}
Test.java(
测试类
):
public
class
Test
extends
TestCase {
public
void
test(){
ApplicationContext ctx =
new
FileSystemXmlApplicationContext(
"bean.xml"
);
City city = (City) ctx.getBean(
"fengshan"
);
city.describCity();
}
}
本文转自 yzzh9 51CTO博客,原文链接:http://blog.51cto.com/java999/120121,如需转载请自行联系原作者