Spring简介

   工作有些时间了,一直都是重复机械性的工作,一直都是知其然而不知其所以然。最近趁着闲暇的时间打算把Spring这个工作中一直用到的框架给深入了解下,所以就从各处查询资料,看源代码(当然功力有限,大多是查看别人源代码的分析),言归正传,分析一下Spring这个框架的作用。

   在学习Spring之前,我们需要知道以下几个问题。

   1、为何使用Spring?            

     1.简介 

       ◆目的:解决企业应用开发的复杂性

       ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能

       ◆范围:任何Java应用

       简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

      2.轻量  从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于                 Spring的特定类。

      3.控制反转  Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中              查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

      4.面向切面  Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它              们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。

      5.容器  Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例              ——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

      6.框架  Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。

           所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。

    2、Spring核心思想

      核心思想即为解耦,此处也就牵涉到下面要介绍的两大模块,也就是Spring的核心IOC与AOP.

   下面就从Spring的各个模块进行介绍:

   Spring框架主要采用接口的设计,将各个模块独立出来,从而降低模块项目的耦合度,将一些重复机械性的工作从开发中剥离出来。Spring框架是一个分层架构,有着7个主要模块定义构成。核心模块定义了创建、配置和管理          bean的方式,如图所示:

            

  Spring的各个模块和组件都可以独立存在,或者与其他模块一起组合使用。

    核心容器(IOC beanFactory):提供Spring框架的基本功能。核心容器的主要组件是beanFactory,它是工厂模式的实现。BeanFactory采用IOC模式将程序的配置与代码分开,将bean的管理统一交由spring管理。

    Spring上下文(applicationContext):除了实现了beanFactory接口,同时也实现了诸多其他接口,例如JNDI,EJB等。

    SpringAOP:通过配置管理将项目中通用的功能统一交由spring管理,如日志管理,事务管理等。

    SpringDAO:Spring通过直接调用jdbc。

    SpringORM:提供ORM对象关系工具,其中包括JDO,hibernate,ibatis等。

    SpringMVC:代替struts充当MVC框架,简化操作。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

        

 

转载于:https://www.cnblogs.com/liangzi-java/p/4312348.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值