【Spring】——宏观了解与原理

起源:

       你可能正在想“Spring不过是另外一个的framework”。当已经有许多开放源代码(和专有)J2EEframework时,我们为什么还需要Spring Framework?
       Spring是独特的,因为若干个原因:
        它定位的领域是许多其他流行的framework没有的。Spring致力于提供一种方法管理你的业务对象。
        Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。
        它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。
        Spring对你的工程来说,它不需要一个以上的framework。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。——来自百度百科

架构图:



        结构中,最重要的两部分是 AOP和Core的IoC

        此节我们先介绍IoC

        IOC可以很好地管理类之间的依赖关系:如果没有IoC,我们每次调用都要先实例化,这样不仅耦合性强,而且会增加代码量。Spring的IoC,很好地帮我们解决了这个问题。我们将所有的关联关系配置在Spring的核心配置文件:applicationContext中即可。Spring会帮我们实例好对象供我们所用。


IoC优势:

        IoC(控制反转):本来是由应用程序管理的对象之间的依赖关系,现在交给了容器管理,这就叫控制反转,即交给了IoC容器,SpringIoC容器主要使用DI方式实现的。不需要主动查找,对象的查找、定位和创建全部由容器管理

        1、大量减少了FactorySingleton的数量,使代码层次更加清晰,主要原因是我们不再查找、定位、创建和管理对象之间的依赖关系了,都交给IoC容器管理了

       2SpringIoC容器是一个轻量级的容器,没有侵入性,不需要依赖容器的API,也不需要实现一些特殊接口

       3、一个合理的设计最好尽量避免侵入性

       4、会使我们的框架(StrutsHIbernate)工作的更好

       5、提供了AOP声明式服务能力,可以针对POJO对象提供声明式服务能力,如:声明式事务

       6、对于资源,如Hibernate SessionJDBC Connection我们不在负责开启和关闭

       7、鼓励了我们面向接口编程

       8、减少了代码中的耦合(解耦合),将耦合推迟到了配置文件中,发生了变化也更容易控制


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值