Spring概述

Spring概述

一、什么是Spring
        Spring是个Java企业级开源开发框架,是一个轻量级控制翻转和面向切面的的容器框架。Spring主要用来开发Java应用,但是有些扩展是针对JavaWeb的开发, Spring的目标就是简化Java企业级的应用开发,由于Java软件开发的复杂性,导致了Spring框架的产生。Spring是由基本的JavaBean来完成之前智能由EJB完成的开发任务。然而Spring的开发不仅仅受限于服务器的开发,从简单性、可测试性、松耦合性角度考虑,绝大部分Java应用都收益。

二、使用Spring框架有什么好处

  1. 轻量:Spring是轻量的,基本版本大约只有2MB。
  2. 控制翻转(IOC):Spring通过控制翻转实现了松耦合
  3. 面向切面的编程(AOP):Spring支持面向切面的编程,并将业务和系统服务分隔开
  4. 容器:Spring包含应用服务对象的管理和生命周期
  5. 事务管理Spring提供了一个事务管理接口,可以扩展到每一处事物
  6. 异常处理:Spring提供方便的API对异常进行处理

三、Spring框架的基本模块

 

webp

            Spring由七大功能模块组成:分别是Spring Core、AOP、ORM、DAO、MVC、WEB、Context。

  • Spring Core

        Core模块是Spring的核心类库,所有功能都依赖于Core模块,Core主要实现IOC功能,Spring的所有功能都是借助IOC功能来实现的。
  • AOP

        AOP模块是Spring的 AOP库,提供了AOP(拦截)机制,并提供常用的拦截器,供用户配置和使用。
  • ORM模块

        Spring的ORM模块提供对常用的ORM框架的管理和辅助支持,Spring支持产常用的Hibernate,IBTAS,Jdao等框架的支持,Spring本身不对ORM进行实现,仅对常见的ORM框架进行封装,并对其进行管理
  • DAO模块

        Spring提供对JDBC的支持,对JDBC进行封装,允许JDBC使用Spring资源,并能统一管理JDBC事物,并不对JDBC实现。
  • WEB模块

        WEB模块提供对常见的框架如Struts1,WEBWORK(Struts2),JSF的支持,Spring能够管理这些框架,将Spring的资源注入给框架,也能在这些框架的前后插入拦截器。
  • Context模块

        Context模块提供框架式的Bean访问方式,其他程序可以通过Context访问Spring的Bean资源,相当于资源注入。
  • MVC模块

        WEB MVC模块为Spring提供了一套轻量级的MVC实现,在Spring的开发中,我们既可以使用Struts,也可以用Spring自己的MVC框架,相当于Struts,Spring自己的MVC框架更加简洁和方便。
四、BeanFactory
        BeanFactory是工厂模式的一个实现,提供了控制翻转功能,用来把应用的配置和依赖从真正的应用代码中分离。
最常用的BeanFactory实现是XmlBeanFactory类
五、XmlBeanFactory
        它是根据XML文件中的定义加载到Beans,该容器从XML文件读取配置元数据并用它去创建一个完全配置的系统或应用
六、什么是Spring IOC容器
        Spring IOC负责创建对象,管理对象(通过依赖注入,转配对象,配置对象,并且管理这些对象的生命周期)
七、IOC的优点是什么
        IOC或依赖注入把应用的代码量降到最低。它使应用容易测试,单元测试不再需要单例和NDI查找机制。最下的代价和最小的侵入性使松散耦合得以实现。IOC容器支持加载服务时的饿汉式初始化和懒加载
八、一个Spring的应用看起来像些什么
  1. 一个定义了一些功能的接口
  2. 这实现包括属性,它的Setter,getter方法和函数等
  3. Spring AOP
  4. Spring 的XML配置文件
  5. 使用以上功能的客户端程序

转载于:https://my.oschina.net/u/4169647/blog/3078200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值