Spring的依赖注入

首先提出两个问题:
为什么用spring IOC,有什么好处?
怎么用呢?
Spring的依赖注入关键就是实现类和类之间的解耦。
(1)我们第一步学习编程时,就是在一个类中去new出一个类,最简单的一个人拥有一把斧子,在具体实现时,Axe axe = new Axe();可以通过构造函数或者set方法把斧子交给Person去使用。如果这个时候我们要使用锤子Hammer怎么办呢?我需要 修改Person里面的代码吧?!(这好比两种数据库DAO的实现)
(2)然后是学习 工厂模式,抽象工厂方法,我们定义一个Tool的接口,然后有Axe和Hammer等各种实现,ToolFactory类对外暴露getTool(String type)的方法,这样当有新的工具需要加入时,我们不会再修改Person的代码了,实现了两个类的解耦。
(3)至此我们做了大量的工作来实现类关系的维护,要是有一个通用的框架把这些工作做好该有多好呢?Spring IOC完成了这项工作。在Spring中是通过容器来管理两个类的依赖关系,通过 xml配置文件 配置Bean的方式来表达出两个类的耦合关系,配置文件中需要写出具体类的路径,而不是接口了!! 因为要用java的反射机制实现依赖的注入。POJO类需要用 setter方法或者构造方法 。注入的方式没有侵入性。
两个问题我们应该有了答案。
示例代码
           BeanFactory beanFactory =  new  ClassPathXmlApplicationContext(
                       "applicationContext.xml" );
           ApplicationContext ctx =  new  ClassPathXmlApplicationContext(
                       "applicationContext.xml" );
           System.  out .println(ctx);
           Person p = (Person) ctx.getBean(  "person" );
           System.  out .println(p.getName());
配置文件
      < bean  id =  "person"  class  = "com.gxw.spring.model.Person" >
             < property  name  = "name" >
                  < value  > tt </ value >
             </ property  >
      </ bean  >
通过这句Person p = (Person) ctx.getBean( "person");,我们可以把IOC容器看成一个大的工厂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值