Spring系列 1~~~
- 1、Spring
- 1.1 Spring简介
- 1.2、Spring优点
- 1.3、组成
- 1.4、扩展
1、Spring
1.1 Spring简介
- Spring:春天------>给软件行业带来了春天
- 2002,首次推出了Spring框架的雏形:interface21框架
- Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版
- Rod Johnson,Spring框架的创始人。
- Spring理念:使现有的技术更加容易使用,本身十一个大杂烩,整合了现有的技术框架。
其主要有以下框架应用:
- SSH:Struct2+Spring+Hibernate
- SSM:SpringMVC+Spring+Mybatis
可以从以下方式直接了解Spring
- 官方下载地址:https://repo.spring.io/release/org/springframework/spring/
- GitHub:https://github.com/spring-projects/spring-framework
在应用Spring时,记得在配置文件中添加Spring依赖
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.4</version>
</dependency>
1.2、Spring优点
- Spring是一个开源的免费的框架(容器)
- Spring是一个轻量级的、非入侵式的框架
- 控制反转(IOC),面向切面编程(AOP)
- 支持事务的处理,对框架整合的支持
总结一句话:Spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架。
1.3、组成
Spring由7大模块组成,如下所示:
Spring-Core:
核心容器,提供依赖注入(Dependency Injection)管理Bean容器功能,其中BeanFactory提供了组件生命周期的管理,组件的创建,装配,销毁等功能
Spring-Context:(Spring核心容器<上下文模块>)
核心模块的BeanFactory使Spring成为一个容器,而上下文模块使它成为一个框架。这个模块扩展了BeanFactory的概念,增加了消息、事件传播以及验证的支持。另外,这个模块提供了许多企业服务,例如电子邮件、JNDI访问、EJB集成、远程以及时序调度(scheduling)服务。也包括了对模版框架例如Velocity和FreeMarker集成的支持。
Spring-Aop:
提供了面向切面编程支持。
Spring-Dao:
对传统的JDBC进行了抽象,还提供了一种比编程式更好的声明式事务管理方法。
Spring-Web:
提供Web应用上下文,对Web开发提供功能上的支持,如请求,表单,异常等。另外,这个模块还提供了一些面向服务支持。利用Servlet listeners进行IOC容器初始化和针对Web的applicationcontext。
Spring Web MVC:
全功能MVC框架,作用等同于Struts。它提供了一种清晰的分离模型,在领域模型代码和web form之间。
Spring-ORM:
关系映射模块,ORM包为流行的“关系/对象”映射APIs提供了集成层,包括JDO,Hibernate和iBatis(MyBatis)。
1.4、扩展
- Spring Boot
- 一个快速开发的脚手架
- 基于SpringBoot可以快速的开发单个微服务
- 约定大于配置
- Spring Cloud
- SpringCloud是基于SpringBoot实现的
因为现在大多数公司都在使用SpringBoot进行快速开发,学习SpringBoot的前提,需要完全掌握Spring及SpringMVC。
弊端:发展太久了,违背了原来的理念,配置实份繁琐,人称“配置地狱”