天天看点

Spring读书笔记之依赖注入

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:

<b>public</b> <b>interface</b> City {

    <b>public</b> <b>void</b> describCity();

}

View.java

<b>public</b> <b>interface</b> View {

    <b>public</b> String describe();

Fengshan.java(继承于City接口):

<b>public</b> <b>class</b> Fengshan <b>implements</b> City {

    <b>private</b> View view;

    //默认构造方法

    <b>public</b> Fengshan(){

    }

    //设置注入所需的setter方法

    <b>public</b> <b>void</b> setView(View view) {

       <b>this</b>.view = view;

    //实现接口的方法

    <b>public</b> <b>void</b> describCity() {

       System.out.println(view.describe());

FengshanView.java(继承于View接口):

<b>public</b> <b>class</b> FengshanView <b>implements</b> View{

    <b>public</b> FengshanView(){}

    <b>public</b> String describe() {

       <b>return</b> "凤山很漂亮";

Test.java(测试类):

<b>public</b> <b>class</b> Test <b>extends</b> TestCase {

    <b>public</b> <b>void</b> test(){

ApplicationContext ctx = <b>new</b> FileSystemXmlApplicationContext("bean.xml");

       City city = (City) ctx.getBean("fengshan");

       city.describCity();

<a href="http://down.51cto.com/data/2351426" target="_blank">附件:http://down.51cto.com/data/2351426</a>

本文转自 yzzh9 51CTO博客,原文链接:http://blog.51cto.com/java999/120121,如需转载请自行联系原作者