01.Spring简介
什么是Spring?
- Spring: 春---给软件行业带来了春天
- 2002,首次推出了Spring框架的雏形: interface21框架
- Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版
- Rod Johnson,Spring Framework创始人,著名作者,很难想象Rod Johnson的学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学
- Spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架
- SSH:Struct2 + Spring + Hibernate
- SSM:SpringMVC + Spring + Mybatis
目的:解决企业应用开发的复杂性
功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
范围:任何Java应用
优点:
- Spring是一 个开源的免费的框架(容器)
- Spring是一个轻量级的、非入侵式的框架
- 控制反转(IOC) ,面向切面编程(AOP)
- 支持事务的处理,对框架整合的支持
总结:Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架
如何获得Spring?
Maven仓库:
<!--Spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
Spring七大组成模块
-
spring core:提供了spring 的核心功能,BeanFactory是spring核心容器的主要组件,它通过Ioc把程序的配置和依赖性与实际的代码分开,是整个spring的基础
-
spring context:通过配置文件向spring提供上下文信息,它构建在BeanFactory之上,另外增加了国际化和资源访问等功能
-
spring dao:提供了一个简单有效的JDBC应用
-
spring aop:提供了面向方面编程的功能
-
spring orm:spring除了有自己的JDBC以外还提供了对其他ORM框架的支持,如Hibernate,都可以和spring进行良好的结合
-
spring web:提供了简化的处理多部分请求以及把请求参数绑定到域的任务
-
spring MVC:提供了MVC2模式的实现,也可以和struts良好的集成在一起
扩展
- Spring Boot
- 一个快速开发的脚手架
- 基于SpringBoot可以快速的开发单个微服务
- 约定大于配置
- Spring Cloud
- SpringCloud 是基于SpringBoot实现的
因为现在大多数公司都在使用SpringBoot进行快速开发,学习SpringBoot的前提, 需要完全掌握Spring及SpringMVC,承上启下的作用
弊端:发展了太久之后,违背了原来的理念,配置十分繁琐,人称:”配置地狱”