Spring复杂对象的注入

用一个demo举例,

计算机上有连接打印机的接口,打印机的接口能接两种打印机,彩色和黑白,

那么先准备这些类和接口,

Computer.java  

Printable接口

ColorPrint.java

BlackPrint.java

在Computer中直接用main方法测试对注入的复杂对象测试了

然后代码如下:

Computer.java:

------------------------代码开始--------------------------

import com.util.SpringTool;

public class Computer {
    private Printable printable;

    public void setPrintable(Printable printable) {
        this.printable = printable;
    }
    public void print(){
        //这里的if语句提供了代码健壮性
        if(printable!=null){
        this.printable.print();
        }else{
            System.out.println("未连接打印机");
        }
    }
    public static void main(String[] args) {
        Computer computer=(Computer) SpringTool.getBean("compter");
        computer.print();
    }
}

 

------------------------代码结束--------------------------

Printable接口:

------------------------代码开始--------------------------


public interface Printable {
    public void print();
}

 

------------------------代码结束--------------------------

ColorPrint.java:

------------------------代码开始--------------------------


public class ColorPrint implements Printable{
    @Override
    public void print() {
        System.out.println("color");
    }
}

 

------------------------代码结束--------------------------

BlackPrint.java:

------------------------代码开始--------------------------


public class BlackPrint implements Printable{
    @Override
    public void print() {
        System.out.println("black");
    }
}

 

------------------------代码结束--------------------------

最后提供核心配置文件applicationContext.xml,里面有注释对一些行为做了注释,代码如下:

------------------------代码开始--------------------------


 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.xsd">




    

    
    
    


------------------------代码结束--------------------------

至此,结束

你可能感兴趣的:(Spring)