什么是Spring

来源:互联网 发布:vmware虚拟机安装linux 编辑:程序博客网 时间:2024/05/21 22:44
什么是Spring?

    开源、轻量级


Spring 特征:
    1.B/S 和 C/S,使用资源小
    2.对象间的关系松,高内聚,低耦合
      IOC --- Inverse of control 
         使得业务组件都处在框架的管理之下
         框架可以管理组件的创建和依赖关系
         框架可以提供可以配置的服务
    3.通过AOP技术将业务与非业务分离
      AOP --- Aspect Oreinted Programming
      在不修改组件的前提下,为组件提供扩展的服务
    4.Spring容器管理整个JavaBean生命周期
      简化对j2ee技术的使用
    5.与Hibernate、Struts一样是个框架
      (类集合) (框架提供) 
    6.Spring是一个全方位的框架
      SpringMVC 类似 Struts


Spring框架在多层开发中位于那一层?或哪几层?
    框架简化开发过程,提供公共服务和便利的工具
    1.业务逻辑层 (Ioc *AoP) 最擅长的一层
    2.表现层    (SpringMVC Web B/S都有) 

    3.数据持久层 (SpringDAO ORM)


什么是IoC:
    1.IOC --- Inverse of control (控制反转) 
       A主动创建B的实例:正向控制
      过去:拉模型
           组件决定自己依赖的对象的创建 
           接口没有在松散耦合中起到太大作用
      IOC:推模型,也叫做依赖注入
           采用工厂模式管理应用组件的创建,管理组件的依赖关系 
           用接口表达组件间的依赖
      依赖注入的方式
        1)构造方法注入
        2)set 方法注入

    2.Spring IoC 容器先创建B的实例,再把B的实例注入A中
    3.执行过程:
      1)执行 BeanFactory 或 ApplicationContext 时,解析 xml 文件
      2)通过反射,执行 JavaBean 的空参构造方法,创建实例
      3)调用 JavaBean 的 set方法,将xml的信息注入到这 JavaBean 实例

        或者执行满参构造方法创建实例,同时注入 xml 的信息


spring 框架的7个组成部分
    1.BeanFactory -- (低级容器,接口)使用工厂模式实例化组件,装配组件
       XmlBeanFactory(实现类) 
    2.ApplicationContext (高级容器,接口)--- bean factory 增加事件发布,增加了国际化,资源访问等的支持
       ClassPathXmlApplicationContext(实现类) 
    3.aop --  提供一种基于声明方式的AOP

    4.dao 支持--简化jdbc,声明的事务
    5.orm 支持-- 简化使用 Hibernate ,toplink 等持久化框架,方便的事务管理

    6.web 支持-- 在 web 应用中使用 spring 框架的相关支持,协调表现层和业务层的关系
    7.web mvc--- 独立的 web mvc 框架


0 0