1、Spring

1.1、简介

  • Spring:春天----->给软件行业带来了春天!

  • 2002,首次推出了Spring框架的雏形:interface21框架!

  • Spring框架即以interface21框架为基础,经过重新设计,并不断丰富内涵,于2004年3月24日,发布了1.0正式版。

  • Rod Johnson,Spring Framework创始人,著名作者。很难想象其学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。

  • spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架。

  • SSH : Struct2 + Spring + Hibernate

  • SSM : SpringMVC + Spring + Mybatis

官网:https://spring.io/projects/spring-framework#overview

官方下载地址:https://repo.spring.io/release/org/springframework/spring/

GitHub : https://github.com/spring-projects/spring-framework

maven :

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.0.RELEASE</version>
</dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.0.RELEASE</version>
</dependency>

1.2、Spring优点

  • Spring是一个开源的免费的框架(容器)
  • Spring是一个轻量级的、非入侵式的框架
  • 控制反转(IOC),面向切面编程(AOP)
  • 支持事务的处理,对框架整合的支持

总结:Spring就是一个轻量级的控制反转 (IOC) 和面向切面编程 (AOP) 的框架!

1.3、组成

组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:

  • 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
  • Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
  • Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能 , 集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理任何支持 AOP的对象。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖组件,就可以将声明性事务管理集成到应用程序中。
  • Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
  • Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
  • Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
  • Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

1.4、扩展

在Spring的官网有这个介绍:现代化的java开发,说白就是基于Spring开发!

Spring Boot与Spring Cloud

  • Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务;
  • Spring Cloud是基于Spring Boot实现的
  • Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架;
  • Spring Boot使用了约束优于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置 , Spring Cloud很大的一部分是基于Spring Boot来实现,Spring Boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring Boot,属于依赖的关系。
  • SpringBoot在SpringClound中起到了承上启下的作用,如果你要学习SpringCloud必须要学习SpringBoot。

弊端:发展了太久之后,违背了原来的理念!配置十分繁琐,人称:“配置地狱”

Spring 官方简介【spring】相关推荐

  1. Spring 官方发起Spring Authorization Server 项目

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「小胖哥」 Spring官方在近日发布了 ...

  2. Spring官方文档翻译(1~7章)

    Spring官方文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ 一.Spring ...

  3. Spring官方文档翻译(1~6章)

    Spring官方文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ #一.Sprin ...

  4. Spring官方文档翻译

    Spring官方文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ 声明:此文章大部 ...

  5. Spring Statemachine 简介

    Spring Statemachine 简介 Spring Statemachine是Spring官方提供的一个框架,供应用程序开发人员在Spring应用程序中使用状态机.支持状态的嵌套(substa ...

  6. Spring入门简介

    Spring概况 Spring的简介 Spring是一个轻量级的控制反转和面向切面的容器框架,它主要是为了解决企业应用开发的复杂性而诞生的: 目的:解决企业应用开发的复杂性 功能:使用基本的javaB ...

  7. Spring Boot 入门——Spring Boot 简介||微服务简介

    Spring Boot 入门 1.Spring Boot 简介 Spring Boot来简化Spring应用开发,约定大于配置, 去繁从简,just run就能创建一个独立的,产品级别的应用 简化Sp ...

  8. Spring框架简介

    Spring框架简介 Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本. ...

  9. Spring 容器简介

    1.美图 2.Spring 容器简介 Spring容器,我们常用的就是ApplicationContext,容器本身是存放Bean和Bean之间的依赖关系的,那么容器的生命周期是什么概念呢? 我们可以 ...

最新文章

  1. iOS APP提交上架最新流程
  2. 中国电子学会青少年编程能力等级测试图形化一级编程题:小狗进圈
  3. SpringBoot接口频繁超时,长时间找不到原因,我用 Arthas 定位到了
  4. R语言之字符处理(一)
  5. 服务器空岛怎么修改地形,迷你世界空岛地形码是什么 空岛地形码怎么输入[多图]...
  6. 第十二天:规划成本管理,成本类型, 资产折旧;和 估算成本,估算成本知识点提示
  7. 阿里P8架构师谈:Dubbo的详细介绍、设计思路、以及4大适用场景
  8. html5外链代码,html5关于外链嵌入页面通信问题
  9. 新生的 XInclude
  10. PHP中获取文件扩展名的N种方法
  11. 光子不维护服务器,光子云和光子服务器
  12. 要抢足球教练饭碗!切尔西未来或将用上AI教练
  13. 利用对象思想来绘制canvas帧动画
  14. vue中的组件 (全局注册和本地注册组件)
  15. php apk 分包,H5打包出APP,分包
  16. 关于wow游戏插件制作之前的几件事
  17. MySQL 8.0初体验
  18. hihoCoder #1079 离散化
  19. PL/SQL中的dual表含义和用法
  20. 物联网无线通信模块的新选择

热门文章

  1. 揭秘ScheduledThreadPoolExecutor 中ScheduleAtFixedRate迷惑行为
  2. Mysql开启ssl加密协议及Java客户端配置操作指南
  3. Oracle数据库手工扩大表空间三步走
  4. 【C语言】字符串转为十六进制(str_to_hex)
  5. 电子计算机音乐乐谱aliez,ALIEz-Aldnoah Zero ED2(简谱 需改编)
  6. JavaScript表单信息验证案例——使用正则
  7. 用Python解决海量数据的分类汇总~一键化办公的神器!
  8. 《乔布斯传》经典摘录(四)
  9. VR安全普法教育的新模式|广州华锐互动
  10. FN-8112MET系列RTL8188单通道WiFi模块应用选型参考