入门学习资料推荐
大家好,我是JZ。对于学习Spring初学者,我推荐的入门书籍是《Spring实战》。如果你想通过Spring的官方文档去入门学习Spring,学习成本比较高,所以我们参考一本经典的书籍来入门是比较好的。本专栏主要参考《Spring实战》第4版和第5版。
如何入门?
入门学习Spring我们应该把Spring看成一个黑盒,站在上帝视角来学习。这样我们可以在宏观的角度来学习使用Spring框架。不要过分纠结Spring的底层原理。Spring是一个复杂的框架,不是一两句话就能说清楚,一两天就能学好的。我们应该遵循一个从简到难的过程。
第一步,学习Spring核心思想及如何使用Spring来进行业务开发
第二步,学习Spring的高级使用方式
第三步,学习Spring的源码
所以我们入门学习Spring的时候,只需要学好第一步就可以了!
Spring作为企业级开发工具,我们第一步当然是学会如何使用,底层的原理不要放在入门的时候去深入研究。当我们能熟练使用Spring了,再去花时间和精力去研究Spring更深入的领域,否则学习Spring会让大家觉得很痛苦,又抓不到学习的重点。
开发环境搭建
在正式学习Spring之前,我们需要搭建好Spring开发环境,你可以参考下面的两个链接去搭建环境
1.安装集成开发工具IDEA
2.如何构建Spring工程
Spring是什么?
Spring是一个开源框架,最早由Rod Johnson创建。Spring是为了解决企业级应用开发的复杂性而创建的。简单来说,Spring就是为了简化Java开发而生的。
Spring之所以强大是因为Spring的生态是比较全面的,可以很容易的集成其他第三方框架。
Spring的两个核心特性是依赖注入(dependency injection,DI)和面向切面编程(aspect-oriented programming,AOP)。
Spring是如何简化Java开发的?
- 基于POJO的轻量级和最小侵入性编程
- 通过依赖注入和面向接口实现松耦合
- 基于切面进行声明式编程
- 通过切面和模板减少样板式代码(减少冗余重复代码)
POJO指的是简单老式Java对象(Plain Old Java object,POJO)。
Bean容器
依赖注入
依赖注入(dependency injection,DI)是什么?
依赖:我们比较容易理解,Java类和类之间要实现需要相互协作来完成特定的业务逻辑,那么类之间就会存在引用关系(依赖关系)。
注入:在Spring中就是通过配置的方式来实现依赖关系。后面我们再来讨论注入这个话题。
Spring为什么要使用DI?
但是在A类中直接依赖B类会导致类之间的耦合度很高,DI能够以代码最小侵入的方式来实现,主要就是为了降低代码耦合度。
Java传统的注入方式
面向切面编程
Web中的Spring
Spring与数据库
Spring集成