Spring框架(一)—— Spring 简介

一、Spring 简介

1、Spring 概述

(1)Spring 是一款开源的免费框架,是一个轻量级**控制反转(IOC)面向切面(AOP)**的 JAVA EE 框架,轻量级是指不依赖于容器就能运行的。Spring 框架最初的作者是Rod Jahnson,现在已经被Pivotal Software公司收购,而Pivotal Software公司的东家正是大名鼎鼎的虚拟化提供商VMWare。

(2)一般所谓的 Sping 指的仅仅是Spring旗下的spring framework这一款产品,在 Spring 被 Pivotal Software 公司接手之后,相继研发出了多款产品,其中的Spring Boot、Spring Could已经成为了当前互联网环境下的佼佼者。

  • Spring Boot是一个整合Spring各项功能的中间件,用于快速的开发Spring应用。
  • Spring Cloud是为了应对日益增长的业务需求,而开发出的一套完整的基于微服务的分布式解决方案。
  • Spring Framework、Spring Boot、Spring Cloud这三款框架的依赖是递增的,也就是说Spring - Could的基础是Spring Boot。
  • Spring Boot的基础是Spring Framework,学习顺序应该是Spring Framework>Spring Boot>Spring Cloud。

(3)Spring 框架是使用最广泛的轻量级 JAVA EE 框架之一,它以 IOC、AOP 为主要思想,能够协同 Struts2、Hibernate、WebWork、JSF、iBatis 等众多的框架。

2、Spring Framework 下载

(1)Spring的官网是https://spring.io,通过http://repo.spring.io/release/org/springframework/spring可以下载Spring Framework(以后简称Spring)的开发包,如版本Spring 5.1.6,下载好jar包之后解压出的目录结构如下:

  • docs:开发文档
  • schema:spring框架对于xml文件的校验采用了schema的方式,该文件夹中是schema文件。
  • libs:jar包,保存了spring框架的所有jar包。
  • 注意:libs中保存的jar包分为3类,分别是文档jar包,源代码jar包,和编译之后的class文件jar包,我们以前导入的其他框架jar包都是最后一种class文件jar包。

(2)spring中常用jar包:

  • Spring AOP:Spring的面向切面编程,提供AOP(面向切面编程)的实现
  • Spring Aspects:Spring提供的对AspectJ框架的整合
  • Spring Beans:Spring IOC的基础实现,包含访问配置文件、创建和管理bean等。
  • Spring Context:在基础IOC功能上提供扩展服务。
  • Spring Context Support:Spring context的扩展支持,用于MVC方面。
  • Spring Core:Spring的核心工具包
  • Spring expression:Spring表达式语言
  • Spring Instrument:Spring对服务器的代理接口
  • Spring Instrument Tomcat:Spring对tomcat连接池的集成
  • Spring JDBC:对JDBC 的简单封装
  • Spring JMS:为简化jms api的使用而做的简单封装
  • Spring orm:整合第三方的orm实现,如hibernate,ibatis,jdo以及spring 的jpa实现
  • Spring oxm:Spring对于object/xml映射的支持,可以让JAVA与XML之间来回切换
  • Spring test:对JUNIT等测试框架的简单封装
  • Spring tx:为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理。
  • Spring web:包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。
  • Spring webmvc:包含SpringMVC框架相关的所有类

3、Spring 框架组成

Spring 是个轻量级的框架,但是它的功能却很庞大,String 框架的所有组成如图所示。
图片来自百度百科
图中所示的 Spring 的7大模块,各个模块的功能如下:

  1. Core模块
    核心容器提供 Spring框果的基木功能(Spring Core)。核心容器的上要组件是BeanFactory. 它是工厂模式的实现。Beanfactory 使用控制反转(10C)模式将应用程序的配置和依赖性规范 与实际的立用程序代码分开。
  2. AOP模块
    通过配置管理特性,Spring AOP模块直接将面向切面的编程功能集成到了Sprirg 框契中。所以,可以很容易地使Spring 框渠管理的任何对象支持AOPe Spring AOP模块为基于Spring 的应用程序中的对象提供了事务管理服务。通过使用Spring AOF, 不用依赖JB组件,就可以将声明性事务管理集成到应用程序中。
  3. ORM模块
    Spring框架插入了若干个ORM框架,从而提供了ORM 的对象关系工具,其中包括JDO、Hibernate和iBatisSQL Map。所有这些都遵从Spring的通用事务和DA0 异常层次结构。
  4. DAO模块
    JDBCDA0抽象层提供了有意义的异常层次结构,可用该结构来管理异营处理和不同数据车供应商抛出的错误消息。异常层次结构简化了错误处理,并日极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向JDBC的异常遵从通用的DAO异常层次结构。
  5. Web模块
    Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring框架支持与JakartaStruts 的集成。web 模块还简化了处理多部分请求以及奖请求参数绑定到域对象的工作。
  6. Context模块
    Spring 上下文是一个配置文件,向Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如JNDI、EJB. 电子邮件、国际化、校验和调度功能。
  7. Web MVC模块
    MVC框架是一个全功能的构建Web 应用程序的MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括JSP, Velocity、 Tiles、iText和P0L。
发布了75 篇原创文章 · 获赞 10 · 访问量 2877

猜你喜欢

转载自blog.csdn.net/baidu_27414099/article/details/104440385