• spring3 DI基础


    Spring IOC容器的依赖有两层含义:Bean依赖容器和容器注入Bean的依赖资源:

    Bean依赖容器:bean要依赖于容器,这里的依赖是指容器负责创建Bean并管理bean的生命周期。正是由于由容器来控制创建bean并注入依赖,也就是控制权被反转了。

    容器注入bean的依赖资源:容器负责注入bean的依赖资源,依赖资源可以是bean,外部文件,常量等,在java中都反应为对象,并且由容器负责组装bean直接的依赖关系。

    为什么要应用依赖注入,应用依赖注入能给我们带来哪些好处呢?

    动态替换Bean依赖对象,程序更灵活:替换Bean依赖对象,无需修改源文件:应用依赖注入后,由于可以采用配置文件方式实现,从而能随时动态的替换Bean的依赖对象,无需修改java源文件;

    更好实践面向接口编程,代码更清晰:在Bean中只需指定依赖对象的接口,接口定义依赖对象完成的功能,通过容器注入依赖实现;

    更好实践优先使用对象组合,而不是类继承:因为IoC容器采用注入依赖,也就是组合对象,从而更好的实践对象组合。

    采用对象组合,Bean的功能可能由几个依赖Bean的功能组合而成,其Bean本身可能只提供少许功能或根本无任何功能,全部委托给依赖Bean,对象组合具有动态性,能更方便的替换掉依赖Bean,从而改变Bean功能;

    而如果采用类继承,Bean没有依赖Bean,而是采用继承方式添加新功能,,而且功能是在编译时就确定了,不具有动态性,而且采用类继承导致Bean与子Bean之间高度耦合,难以复用。

    增加Bean可复用性:依赖于对象组合,Bean更可复用且复用更简单;

    降低Bean之间耦合:由于我们完全采用面向接口编程,在代码中没有直接引用Bean依赖实现,全部引用接口,而且不会出现显示的创建依赖对象代码,而且这些依赖是由容器来注入,很容易替换依赖实现类,从而降低Bean与依赖之间耦合;

    代码结构更清晰:要应用依赖注入,代码结构要按照规约方式进行书写,从而更好的应用一些最佳实践,因此代码结构更清晰。

  • 相关阅读:
    spring helloworld
    Log4cpp介绍及使用
    带有机器人框架的.NET自己主动化測试
    typedef和define具体的具体差别
    史上最简单的Hibernate入门简单介绍
    Linux安装程序Anaconda分析
    TinyXml高速入门(一)
    js获取并设置<p></p>的显示的值。
    Tomcat 配置WEB虚拟映射 及 配置虚拟主机
    Gitserver几家互联网代理安装方法未能解决。
  • 原文地址:https://www.cnblogs.com/kxm87/p/6223031.html
Copyright © 2020-2023  润新知