问题是: Spring内部(后台,内部包),是怎么实现依赖注入的?具体一点.

解决方案 »

  1.   

    http://developer.51cto.com/art/200610/33311_2.htm
    这个将得还不错哦. 你去看看...
      

  2.   

    setter()注入或者构造方法注入。
      

  3.   

     spring 注入就2种方式
      set和构造函数注入
      

  4.   

    IoC
    Spring 的核心。理解这个spring就搞定了80%。我也在学这个似懂非懂。
      

  5.   

    再做个广告,嘿嘿……
    Java&Oracle学习交流群,知无不言,言无不尽。欢迎大家交流分享学习工作心得。QQ群:20378027
      

  6.   

    原理好说
    http://www.cnblogs.com/healerkx/articles/1597614.html
      

  7.   

    google里面找去,大体是使用反射和代理的模式
      

  8.   

    主要是利用反射和代理。
    在Spring中一切实例皆代理,如calssA调用classB的方法的时候,实际上调用的只是一个代理
    只要通过代理,Spring自然可以捕捉一切,所以依赖注入那也是非常简单的了。。
      

  9.   

    Class target=Class.forName(path);
    Object proxy=target.newInstance();
    //创建代理
    Field[] field =target.getDeclaredFields();
    //获得代理的参数,包含你注入的参数String head=fi.getName().substring(0, 1).toUpperCase() ;
    String follow=fi.getName().substring(1);
    String setMethod="set"+head+follow;
    Method doMethod =target.getMethod(setMethod, new Class[]{fi.getType()});
    doMethod.invoke(proxy, new Object []{parms.get(fi.getName())});
    //调用set方法注入构造方法差不多吧。
    在学习spring时候自己尝试写的,不知道有没有参考价值
      

  10.   

    fi为Field[]中的一个对象
    Parm为xml文件配置的property参数,是map类型
      

  11.   

    当然是通过控制反转啊,也就是代理机制实现的依赖注入啊,Spring有IOC容器可以管理要使用到的对象的具体类,当某个类的某个对象需要使用一个新的对象时不用再去创建一个了,通过容器直接注入到这个类中即可,即在需要使用的这个类中添加一个类型属性并提供SETTER方法。