• Spring(1)Spring概述


    1.Spring概述

    (1)什么是Spring

      Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 SpringMVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 Java EE 企业应用开源框架。 

    (2)Spring发展历程

      1997 年 IBM 提出了 EJB 的思想。
      1998 年,SUN 制定开发标准规范 EJB1.0。
      1999 年,EJB1.1 发布。
      2001 年,EJB2.0 发布。
      2003 年,EJB2.1 发布。
      2006 年,EJB3.0 发布。
      Rod Johnson(spring 之父): 
      Expert One-to-One J2EE Design and Development(2002)
      阐述了 J2EE 使用 EJB 开发设计的优点及解决方案
      Expert One-to-One J2EE Development without EJB(2004)
      阐述了 J2EE 开发不使用 EJB 的解决方式(Spring 雏形)。
      2017 年 9 月份发布了 spring 的最新版本 spring 5.0 通用版(GA)

    (3)Spring好处

    • 轻量:Spring 是轻量的,基本的版本大约2MB
    • 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。
    • 面向切面的编程(AOP)Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。
    • 容器:Spring 包含并管理应用中对象的生命周期和配置。
    • MVC框架SpringWEB框架是个精心设计的框架,是Web框架的一个很好的替代品。
    • 事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。
    • 异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBCHibernate or JDO抛出的)转化为一致的unchecked 异常。

    (4)Spring功能

    • 轻量级 - Spring 在代码量和透明度方面都很轻便。
    • IOC - 控制反转
    • AOP - 面向切面编程可以将应用业务逻辑和系统服务分离,以实现高内聚。
    • 容器 - Spring 负责创建和管理对象(Bean)的生命周期和配置。
    • MVC - 对 web 应用提供了高度可配置性,其他框架的集成也十分方便。
    • 事务管理 - 提供了用于事务管理的通用抽象层。Spring 的事务支持也可用于容器较少的环境。
    • JDBC 异常 - Spring 的 JDBC 抽象层提供了一个异常层次结构,简化了错误处理策略。

    (5)Spring体系结构

    • Spring 核心容器 – 该层基本上是 Spring Framework 的核心。它包含以下模块:
      • Spring Core
      • Spring Bean
      • SpEL (Spring Expression Language)
      • Spring Context
    • 数据访问/集成 – 该层提供与数据库交互的支持。它包含以下模块:
      • JDBC (Java DataBase Connectivity)
      • ORM (Object Relational Mapping)
      • OXM (Object XML Mappers)
      • JMS (Java Messaging Service)
      • Transaction
    • Web – 该层提供了创建 Web 应用程序的支持。它包含以下模块:
      • Web
      • Web – Servlet
      • Web – Socket
      • Web – Portlet
    • AOP – 该层支持面向切面编程
    • Instrumentation – 该层为类检测和类加载器实现提供支持。
    • Test – 该层为使用 JUnit 和 TestNG 进行测试提供支持。
    • 几个杂项模块:
      • Messaging – 该模块为 STOMP 提供支持。它还支持注解编程模型,该模型用于从 WebSocket 客户端路由和处理 STOMP 消息。
      • Aspects – 该模块为与 AspectJ 的集成提供支持。

          

  • 相关阅读:
    更新部分字段 NHibernate
    无法显示 XML 页。 使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试的解决办法
    初识使用Apache MINA 开发高性能网络应用程序
    生产者消费者问题理解与Java实现
    国内HTML5前段开发框架汇总
    mongodb的sharding架构搭建
    spring配置声明式事务
    如何设计页面固定广告的效果
    结合实际问题浅谈如何使用蒙特卡罗算法模拟投资分析
    多线程实现资源共享的问题学习与总结
  • 原文地址:https://www.cnblogs.com/xhbJava/p/12427598.html
Copyright © 2020-2023  润新知