1 资源准备
在学习Spring框架前,你需要先准备好相应的学习资源,以帮助更好地掌握基础知识,快速解决过程中遇到的问题。
①spring官方文档
这里你可以快速了解spring,找到学习资源、社区,并接收Spring的最新相关动态
②Stack Overflow
[Newest 'spring' Questions - Stack Overflow]
[(https://stackoverflow.com/questions/tagged/spring)
这里你可以快速找到你学习Spring过程中遇到的问题,并通过解答问题和评论交流获得更大的提高。
(关于左下角的询问cookie弹窗如何去除:edge浏览器搜索“Replace Google CDN”并安装,刷新页面后,点击Your privacy弹窗中的选项,可关闭弹窗)
③你的Spring书籍或视频资料
准备一本Spring书籍或视频资料能使你更加系统性地掌握Spring
最后,可以关注本作者,后续会持续更新面向初学者的Spring相关博客
2 开始学习Spring
2.1 前置知识
结合很多初学者的经验,在作者看来,过早地开始Spring框架的学习是不可取的,必须先学习扎实的基础知识,并至少独立完成一个Javaweb项目。
建议已掌握JavaSE/MySQL(或其他RDBMS)/JDBC
并已完成了Javaweb前置知识的学习
可以参考我之前的博客
Javaweb总结-目前开发Javaweb的套路梳理
https://www.cnblogs.com/fancy2022/p/16606960.html
2.2 环境配置
JDK10Win10x64安装及配置(java: 警告: 源发行版 10 需要目标发行版 1.10)
https://www.cnblogs.com/fancy2022/p/16349930.html
MySQL5.7完整安装教程及相关问题解决
https://www.cnblogs.com/fancy2022/p/16661295.html
前两个学到这里都应该安装过了,重点是maven的配置:
Maven快速配置(IDEA2021.03/JDK1.8)
https://www.cnblogs.com/fancy2022/p/16334247.html
2.3 什么是Spring
简述
Spring是一个轻量级、
非侵入式、
一站式、
模块化的开发应用框架。
引入Spring
任何实际的应用程序都是很多组件组成的,比如有展现页面的、处理业务逻辑的和用于持久化数据的等等,这些组件(对象)之间需要互相协作才能完成相应的功能,所以我们需要更多的关注他们之间的协作关系。为了让我们的开发专注于业务逻辑的实现,我们需要一个框架来帮我们来创建组件(对象)及管理这些组件(对象)之间的依赖关系,同时能帮助我们快速开发企业级应用程序。这时,就需要引入Spirng了。
理解Spring
Spring的核心就是帮我们提供了这样一个创建组件(对象)及管理这些组件(对象)的容器(containner),被称为Spring应用上下文(Spring application context),其中的组件称为bean。理解Spring,我们就需要掌握关于这个容器的核心概念:依赖注入(DI)/控制反转(IOC)
(控制反转:即Inversion of Control,缩写为IoC,控制反转还有一个名字叫做依赖注入(Dependency Injection),就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。)
JavaWeb阶段性项目1:Servlet-api、mvc-service引入、IOC和DI
https://www.cnblogs.com/fancy2022/p/16584694.html
Spring结构图
除了刚提到的核心容器container,Spring框架的结构中还有数据访问/集成,Web,AOP(面向方面的编程),Instrumentation,消息传递和测试,如上图。
这些将在之后的学习中逐步引入、介绍。
2.4 初始化Spring项目
这里作者使用的是IDEA 2021.03版本