zoukankan      html  css  js  c++  java
  • Sping框架概述

    一、什么是spring框架
    spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。
     

    二、架构概述
    1、轻量级
    Spring 是非侵入性的。也就是说基于 Spring 开发的应用中的对象可以不依赖于Spring的 API。
    2、依赖注入(DI --- dependency injection、IOC)
    IOC(Inversion of Control)控制反转:其思想是反转资源获取的方向。传统的资源查找方式要求组件向容器发起请求查找资源,作为回应, 容器适时的返回资源。而应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件, 组件所要做的仅是选择一种合适的方式来接受资源。这种行为也被称为查找的被动形式
    DI(Dependency Injection) — IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如: setter 方法)接受来自如容器的资源注入. 相对于 IOC 而言,这种表述更直接。
    在spring中BeanFacotory是IoC容器的核心接口,负责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖。XmlBeanFacotory实现BeanFactory接口,通过获取xml配置文件数据,组成应用对象及对象间的依赖关系。
    3、面向切面编程(AOP --- aspect oriented programming)
    AOP就是纵向的编程。例如:业务1和业务2都需要一个共同的操作,与其向每个业务中都添加同样的代码,不如只写写一遍代码,让两个业务共同使用这段代码。spring中面向切面变成的实现有两种方式,一种是动态代理,一种是CGLIB,动态代理必须要提供接口,而CGLIB实现是有继承。
    4、容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期。
    5、框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 Java 注解组合这些对象。
    6、一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库 (实际上 Spring 自身也提供了展现层的 SpringMVC 和 持久层的 Spring JDBC)。


    三、优缺点
    1、框架优点
    -----轻量级的容器框架没有侵入性。
    -----使用IoC容器更加容易组合对象直接间关系,面向接口编程,降低耦合。
    -----AOP可以更加容易的进行功能扩展,遵循ocp开发原则。
    -----创建对象默认是单例的,不需要再使用单例模式进行处理。

    2、框架缺点:业务功能依赖spring特有的功能,依赖与spring环境。


    四、sping开发环境搭建

    1、下载sping的框架,从中得到需要的jar包

    2、配置Spring 的XML文件: 一个典型的 Spring 项目需要创建一个或多个 Bean 配置文件, 这些配置文件用于在 Spring IOC 容器里配置 Bean.。Bean 的配置文件可以放在 classpath 下, 也可以放在其它目录下。

    3、编写处理业务代码,通过spring框架获取相应的bean实例。

  • 相关阅读:
    convert image to base64 and post to RESTful wcf
    在android webview实现截屏的手动tounchmove裁剪图片
    How to use jquery ajax and android request security RESTful WCF
    using swfUpload in asp.net mvc
    using HttpClient and sending json data to RESTful server in adroind
    ODP.NET数据访问
    android image watermark
    解决国内不能访问github的问题
    idapro权威指南第二版阅读笔记第九章 交叉引用和绘图功能
    idapro权威指南第二版阅读笔记第二章 逆向和反汇编工具
  • 原文地址:https://www.cnblogs.com/kangsir/p/6653249.html
Copyright © 2011-2022 走看看