从这篇博客正式开始学习 Spring 。
一、整个Spring技术学习的介绍
首先先对 Spring 做一个简单的认识,并从以下3个方面了解学习Spring 技术的意义:
(1)为什么要学习 Spring 技术?
1、它的市场的占有率很高,且是Java的开发界的" 宝物 "。现在的 Spring 技术是企业级开发的一个必备的技能、首选的技术。
2、Spring 技术是 JavaEE 开发必备技能,企业开发技术选型命中率>90% 。还有10%是早期的系统在维护。
3、Spring 技术主要解决了哪些问题?
- 简化开发,降低企业级开发的复杂性。(因为目前的软件功能越来越多和复杂)
- 框架整合,高效整合其他技术,提高企业级应用开发与运行效率。
(现在的企业级开发:大部分都是使用一些现成的技术组合在一起使用)
(2)学什么东西?
Spring 提供了两个大的核心技术—— IOC 和 AOP 。
- 简化开发
1、IOC
2、AOP
3、基于 AOP 的思想,又衍生出一个东西——事务处理
它是Sping技术的一个亮点,它使事务编写更加高效,更简单而且更加功能更加强大。
- 框架整合
它能够整合市面上现在主流的所有框架。
1、MyBatis
2、MyBatis-Plus
3、Struts (早年的)
4、Struts2
5、Hibernate
(3)如何去学习?
- 首先先去学习 Spring 框架的整体的设计思想。基于思想,再去学习对应的基础操作。
- 学习基础操作,思考操作与思想间的联系
- 学习案例,熟练应用操作的同时,并在操作中快速的去体会思想的应用。来体会 Spring 框架的整体上为开发带来了什么便利。
二、初识 Spring
(1)了解 Spring 家族。
- 官网:spring.io
在网页中很简洁,可以看到一个东西:Spring 技术可以做些啥?
比如说:
1、Web apps (可以做Web的开发)
2、Microservices (微服务)
3、Cloud (分布式系统开发)
以上这三点就已经占据 Java EE 的市场主流开发的九成。
- Spring发展到今天已经形成了一种开发的生态圈,Spring 提供了若干个项目,每个项目用于完成特定的功能。
1、Spring Framework 。简单看英文就是框架,这是 Spring 所有技术中的第一门技术。最早出现的技术也是它。它在" 全家桶 " 的地位非常高,其它所有的技术都是依赖它执行的。
(是一个底层的框架、设计型的框架,所有的东西都能放在它上面运行)
2、Spring Boot 。能够简化开发。使用这个技术可以在简化开发的基础上去加速开发。让我们原先的 Spring 开发变得更加的简单,书写更少的东西。
3、Spring cloud 。用在分布式开发的相关技术。
这上面三个技术基本上能够应对我们企业级开发的所有的主流开发工作了,当然其它 "全家桶" 里的其它技术也可以配合开发去使用去丰富解决方案。
4、Spring 并不是一个单技术,而是一个大家族。(其中有很多个技术...)
(2)了解 Spring 发展史。
1、Spring 1.0 是使用纯配置的形式进行开发的。
2、Spring 2.0 为了加速开发引入注解的功能。
3、Spring 3.0 已经演化出可以不写配置的开发模式。这样大幅度提高开发效率。
这就是后面学习的注解,注解是对配置格式的一个变形。而底层还是配置,但是学配置有利于我们学习注解、学注解有利于提高开发的效率。
4、Spring 4.0 在4.0的版本当中,Spring 紧跟JDK的版本升级,对个别的 API 进行了调整,所有 4.0和3.0 API 有一些变化。
5、Spring 5.0 全面支持 JDK 8 ,告诉我们要做 Spring 开发,JDK 版本必须是8以上。