1、Spring
1.1、简介
-
2002,首次推出了Spring框架的雏形:interface21框架!
-
Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版
-
Rod Johnson,Spring Framework创始人,著名作者。很难想象Rod Johnson的学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。
-
spring理念:解决企业应用开发的复杂性(使现有的技术更加容易使用,本身就是一个大杂烩)
-
SSH:Spring + Struct2 + Hibernate(历史产物)
-
SSM:Spring + SpringMVC + Mybatis
-
maven包:
-
spring-webmvc
-
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.20</version> </dependency>
-
-
spring-jdbc
-
1.2、优点
- Spring是一个开源的免费框架(容器)
- Spring是一个轻量级的,非入侵式的框架
- 控制反转(IOC,核心依赖注入DI),面向切面编程(AOP)
- 支持事务的处理,对框架整合的支持
- 总结:Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架
1.3、组成
Spring Core
:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。它主要的组件就是BeanFactory, 是工厂模式的实现。同时BeanFactory适用控制反转(IOC)思想将应用程序的配置和依赖性规范与实际的应用程序分开Spring Context
:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能Spring DAO
:提供了JDBC的抽象层,还提供了声明性事务管理方法。并且极大地降低了需要编写地异常代码数据 (例如打开和关闭连接)Spring ORM
:提供了JPA、JDO、Hibernate、MyBatis 等ORM映射层Spring AOP
:集成了所有AOP功能。减弱代码的功能耦合,清晰的被分离开Spring Web
:提供了基础的 Web 开发的上下文信息,现有的Web框架,如JSF、Tapestry、Structs等,提供了集成Spring Web MVC
:提供了 Web 应用的 Model-View-Controller 全功能实现
1.4、扩展
由于大多数公司都在使用SpringBoot进行快速开发,学习SpringBoot的前提,需要完全掌握Spring及SpringMVC!承上启下的作用!
Spring弊端:发展成熟之后,违背了原来的理念(使现有的技术更加容易使用),配置十分繁琐(配置地狱)
-
SpringBoot
- 一个快速开发的脚手架
- 基于SpringBoot可以快速开发单个微服务
- 约定大于配置
-
SpringCloud
- 基于SpringBoot实现