• Spring框架——初识Spring(一)概述与特点


    入门简介

    1、什么是Spring(概述)

    2、Spring特点(优势)

    2.1 方便解耦

    2.2 AOP编程支持

    2.3 方便程序测试

    2.4 方便和其他框架进行整合

    2.5 方便进行事务操作

    2.6 降低API的开发难度

    3、Spring框架模块


    1、什么是Spring(概述)

    Spring框架是一个开放源代码J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。

    • Spring是轻量级开源的JavaEE框架
    • Spring可以解决企业级应用开发的复杂性
    • Spring两大核心——以IOC(控制反转)、AOP(面向切面编程)为主要构建思想的容器框架
    • Spring是一个分层的JavaEE Full-stack(一站式)开源框架
    • Spring在表现层(Web层)、业务逻辑层(Service层)、数据访问层(Dao层)中均提供了不同的解决方案
    • 基于Spring开发的应用中的对象可以不依赖于Spring的API

    2、Spring特点(优势)

    2.1 方便解耦

    • Spring通过作控制反转(IOC)的技术促进了低耦合,把对象创建和对象之间的调用过程,交给Spring进行管理,避免硬编码所造成的过度程序耦合(包类之间的依赖关系)。
    • IOC(Inversion of Control)——控制反转,即“不用打电话过来,我们会打给你”。将对象的创建权交给Spring,无需我们手动new创建,对象的创建交给了Spring框架来完成。可以用来减低计算机代码之间的耦合度
    • 其中最常见的方式叫做依赖注入(Dependency Injection,简称DI——即依赖的对象不需要手动调用setXX方法去设置,而是通过相应配置进行赋值。
    • 实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。

    2.2 AOP编程支持

    • AOP(Aspect Oriented Programming)——面向切面编程,能帮助我们无耦合的实现日志记录,性能统计,安全控制。
    • 同时把应用的业务逻辑与系统的服务分离开来。
    • Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用

    2.3 方便程序测试

    • 可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。
    • 例如:Spring对Junit4支持,可以通过注解方便的测试Spring程序。

    2.4 方便和其他框架进行整合

    • Spring 还提供了与第三方数据访问框架(如Hibernate、JPA)无缝集成,而且自己也提供了一套JDBC访问模板来方便数据库访问。
    • Spring还提供与第三方Web(如Struts1/2、JSF)框架无缝集成,而且自己也提供了一套Spring MVC框架,来方便web层搭建。
    • Spring能方便的与Java EE(如Java Mail、任务调度)整合,与更多技术整合(比如缓存框架)。

    2.5 方便进行事务操作

    • Spring对下至本地业务,上至全局业务(JAT)提供了统一的事务管理接口
    • Spring中我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

    2.6 降低API的开发难度

    • Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。
    • Spring提供一个方便的API将特定技术的异常(由JDBC, Hibernate, 或JDO抛出)转化为一致的、 Unchecked异常

    3、Spring框架模块

    Data Access/Integration层:包含有JDBC、ORM、OXM、JMS和Transaction模块。

    Web层:包含了Web、Web-Servlet、WebSocket、Web-Porlet模块。

    AOP模块:提供了一个符合AOP联盟标准的面向切面编程的实现。

    Core Container(核心容器):包含有Beans、Core、Context和SpEL模块。

    Test模块:支持使用JUnit和TestNG对Spring组件进行测试。

     

    Spring官网                              Spring下载地址

  • 相关阅读:
    bzoj2049 [Sdoi2008]Cave 洞穴勘测——LCT
    洛谷P2679 子串——DP
    bzoj3669 [Noi2014]魔法森林——LCT
    洛谷P3778 [APIO2017]商旅——01分数规划
    bzoj4196 [Noi2015]软件包管理器——树链剖分
    bzoj4881 线段游戏——上升序列方案数
    bzoj1426 (洛谷P4550) 收集邮票——期望
    bzoj1858 [Scoi2010]序列操作——线段树
    bzoj3626 [LNOI2014]LCA——树链剖分
    L The Digits String(没有写完,有空补)
  • 原文地址:https://www.cnblogs.com/itjiangpo/p/14181235.html
Copyright © 2020-2023  润新知