spring ioc 解耦方式的实现

来源:互联网 发布:支持spi的读卡器淘宝 编辑:程序博客网 时间:2024/06/08 17:48

       使用ioc是基于接口的注入,就是代替硬编码的方式,管理类的实例化与类关联的一种方式,spring的bean容器自己存在一个接口类型的成员变量,并且他有一个set方法给这个属性赋值,bean.xml配置的<bean id="xx" class="com.yup.test">就相当于传给set方法的对象,通过这个方式将类的耦合委托给接口的耦合,最后肉眼看到的是<bean id="xxx" class="xxx">

我们的接口:

public interface animal {public void eat();}

两个实现类
public class cow implements animal{@Overridepublic void eat() {System.out.println("cow eat grass...");}}public class chicken implements animal{@Overridepublic void eat() {System.out.println("chicken eat grass...");}}
模拟beanfactory
public class test2 {private animal animal;public void eat(){           animal.eat();}public void setAnimal(animal x){    this.animal = x;public static void main(String[] args) {   test2 s =new test2();   s.setAnimal(new cow());  s.eat();  }}


   那么现在 我只需要给test2的set方法传一个对象就成功了 是不是和<bean id="xx" class="com.yup.test"> 中的配置似曾相识了,bean容器就是把类耦合委托给接口!

 

1 0
原创粉丝点击